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

标签 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.

如何实现上述逻辑?

最佳答案

是的。您可以使用 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 吗?

关于c# - 是否可以添加对象列表来更改 Entity Framework 的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28604178/

相关文章:

c# - 同时定位 ef core 3.1 和 5 是个好主意吗?

c# - Fluent NHibernate 自动映射错误

c# - 在 C# 中通过索引关系获取枚举

c# - 如何在 ASP MVC 应用程序中启用代码优先迁移?

asp.net - 部署 ASP.Net MVC 应用程序最便宜的方法是什么?

c# - 无法从用法推断 GroupJoin 方法的类型参数

c# - 旋转图形?

c# - 如何在C#ASP.NET网站中有条件地启用操作

asp.net - Spring MVC 与 ASP.NET(MVC?)

c# - 改进 LINQ 查询,使其完全在数据库中执行