![](/img/trans.png)
[英]Does Entity Framework (5) perform UPDATE on entities that have not been edited actually
[英]Is There Any Way to Determine Which Entities are Being Edited in Entity Framework 6.3
上下文:将使用 EF 6.0 (.Net 4.7.2) 的项目转换为 .Net Core 3。
我已将 EF 项目升级到 6.3 版,不再使用 WCF 服务。 而是直接使用.edmx
。 在旧项目中,我能够使用dbContext.Entities
跟踪更改并执行一些其他有用的操作。
是否有类似的方法可以使用此新设置获取已修改、添加或删除的实体集合?
我应该注意到我没有使用 EF Core,因为很难保持.edmx
是最新的; 我们首先使用数据库。
所有功劳都归功于 jcruz 。 在 WCF/OData 服务设置中,我利用 dbContext.Entities 使用此技术将全局设置应用于修改后的数据:
foreach (EntityDescriptor entity in context.Entities)
{
UpdateEntity(entity, userId);
}
切换到 .Net Core,WCF/Odata 服务的能力不再可用(我不认为)。 直接使用 EDMX,代码仅略有更改。 现在我们使用 dbContext.ChangeTracker.Entries():
using System.Data.Entity.Infrastructure;
foreach (DbEntityEntry entry in context.ChangeTracker.Entries())
{
UpdateEntry(entry, userId);
}
我们传入一个 DbEntityEntry 对象,而不是 EntityDescriptor。 除此之外,UpdateEntity() 是 UpdateEntry() 的精确副本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.