是否可以添加对象列表来更改Entity Framework的状态

时间:2015-02-19 10:40:00

标签: 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;

它抛出异常。

The entity type DbSet`1 is not part of the model for the current context.

我如何才能达到上述逻辑?

1 个答案:

答案 0 :(得分:3)

是。您可以使用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);

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