Tag: change tracking

entity framework更改跟踪API和参考条目

希望在我的DbContext子类上编写通用审计代码。 foreach (var entry in this.ChangeTracker.Entries()) { if (entry.State == EntityState.Modified) { var entityProperties = entry.Entity.GetType().GetProperties(); foreach (var entityProperty in entityProperties) { DbMemberEntry propertyEntry = entry.Member(property.Name); if (propertyEntry is DbPropertyEntry) { // IsModified available } else if (propertyEntry is DbReferenceEntry) { // IsModified not available } } } } 1)如果我只更改引用属性,则entry.State值为“Unchanged”。 2)即使将第1点设置为“已修改”,DbReferenceEntry类似乎也没有IsModified属性,也没有原始值。 我认为这是可能的,因为EF必须跟踪这个。 有人可以帮忙吗? 谢谢,本

EF 4.1 Code First – 确定哪些属性已更改

我正在使用Entity Framework 4.1 Code First。 是否有内置方法来获取自从数据库加载实体以来哪些属性已更改的列表? 我知道代码首先检测到对象已被更改,但有没有办法确切地获取哪些属性已更改?

关闭上下文任何实例的EF更改跟踪

我有一个用于报告的只读数据库的上下文,我正在编写大量代码,如下所示: using (var context = new ReportingContext()) { var reportXQuery = context.ReportX.AsNoTracking(); // Do stuff here with query… } 有没有办法设置AsNoTracking位,以便只是new上面的ReportingContext会自动使用AsNoTracking而不是需要记住每次查询显式调用它?