是否可以添加对象列表来更改实体框架的状态

Riz*_*hid 1 c# asp.net-mvc entity-framework entity-framework-5

是否可以更改 EF6 中的实体列表状态

List<AuditTrail> auditLogs = new List<AuditTrail>();
auditLogs = GetLog(context, CreatedBy);
context.AuditTrails.AddRange(auditLogs);
context.Entry(context.AuditTrails).State = System.Data.Entity.EntityState.Unchanged;
Run Code Online (Sandbox Code Playgroud)

它抛出以下异常。

The entity type DbSet`1 is not part of the model for the current context.
Run Code Online (Sandbox Code Playgroud)

我怎样才能实现上述逻辑?

py3*_*str 5

是的。您可以使用 linq ForEach对每个元素应用更改状态:

List<AuditTrail> auditLogs = new List<AuditTrail>();
auditLogs = GetLog(context, CreatedBy);
context.AuditTrails.AddRange(auditLogs);
auditLogs.ForEach(l => context.Entry(l).State = System.Data.Entity.EntityState.Unchanged);
Run Code Online (Sandbox Code Playgroud)

请注意,您将 state 设置为Unchanged。您不想将状态设置为 吗Changed