获取实体框架7中已修改对象的列表 [英] Get List of Modified Objects within Entity Framework 7

查看:75
本文介绍了获取实体框架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?

推荐答案

DbContext.ChangeTracker

var modifiedEntries = context.ChangeTracker
       .Entries()
       .Where(x => x.State == EntityState.Modified)
       .Select(x =>x.Entity)
       .ToList();

这篇关于获取实体框架7中已修改对象的列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆