© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
C#C
C#•2y ago•
5 replies
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; }
}
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);
    }
    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);
    }
C# banner
C#Join
We are a programming server aimed at coders discussing everything related to C# (CSharp) and .NET.
61,871Members
Resources

Similar Threads

Was this page helpful?
Recent Announcements

Similar Threads

✅ EF: Instance of Entity Type cannot be tracked (already being tracked)
C#CC# / help
8mo ago
✅ EF Core 8: System.InvalidOperationException: 'The instance of entity type cannot be tracked..
C#CC# / help
10mo ago
Error Unable to materialize entity instance of type 'IdentityUser'. No discriminators matched the
C#CC# / help
4y ago
Does DbSet.FirstOrDefaultAsync return a tracked entity?
C#CC# / help
4y ago