C#C
C#2y ago
SWEETPONY

The instance of entity type 'OptimizerInstanceEntity' cannot be tracked

Can someone help me to update model?
public sealed record OptimizerSettingsSetsEntity : OptimizerSettingsSets, IIdentityEntity
{
    public new string Identity { get => base.Identity; init => base.Identity = value; }
    public List<OptimizerInstanceEntity> OptimizerInstances { get; init; } = [];
    public DateTime Created { get; init; }
    public Guid Id { get; init; }
    public DateTime Timestamp { get; init; }
    public DateTime? Updated { get; init; }
}

public sealed record OptimizerInstanceEntity : IdentityEntity
{
    public required string Url { get; set; }
}


I want to create entity, add it to database and then update only instances
My command doesn't work, I got exception after trying to update:
    protected override async Task UpdateCoreAsync(OptimizerSettingsSetsModel model, EventHandlingContext context)
    {
        var exists = await FindByIdentityAsync(model.Identity, context);
        if(exists == null)
            return;

        if(!ChangesComparer.HasChanges(exists.ToModel(), model))
            return;

        var entity = CreateEntity(model, exists);
        var entry = dbContext.OptimizerSettingsSets.Update(entity);
        await dbContext.SaveChangesAsync(context.CancellationToken);
        entry.State = EntityState.Detached;
        await eventDispatcher.OptimizerSettingsSetsUpdatedAsync(entity, context);
    }
Was this page helpful?