获取实体框架7中已修改对象的列表 [英] Get List of Modified Objects within Entity Framework 7
问题描述
我很困惑-升级到Entity Framework 7,通常我会覆盖 DbContext
内部的SaveChanges,以便能够在更改之前获得所有已修改对象的列表。最终,我将触发一个脚本来跟踪数据库中的先前版本。在Entity Framework 6中,我将获得模型更改,如下所示:
I am stumped - upgrading to Entity Framework 7 and I typically override the SaveChanges inside the DbContext
to be able to get a list of all the Modified Objects before it changes. Ultimately I have a script that fires that tracks the previous version in a database. In Entity Framework 6 I would get the model changes like so:
var oc = ((IObjectContextAdapter)this).ObjectContext;
var modifiedItems = oc.ObjectStateManager.GetObjectStateEntries(EntityState.Modified | EntityState.Deleted);
List<ObjectStateEntry> ModifiedObjlist = modifiedItems.ToList();
但是现在在实体中删除了 ObjectContext
框架7,我被困住了,我将如何在Entity Framework 7中获取已修改对象的列表?
However now that ObjectContext
is removed within Entity Framework 7, I am stuck, how would I inside Entity Framework 7 get a list of the modified objects?
推荐答案
var modifiedEntries = context.ChangeTracker
.Entries()
.Where(x => x.State == EntityState.Modified)
.Select(x =>x.Entity)
.ToList();
这篇关于获取实体框架7中已修改对象的列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!