EF6相当于EF Core的QueryTrackingBehavior.NoTracking

时间:2017-09-19 18:20:05

标签: asp.net asp.net-mvc entity-framework

我正在寻找一种在我的Context课程中全局禁用更改跟踪的方法。这将阻止开发人员忘记将.AsNoTracking()放在每个存储库查询上,就像我们目前所做的那样。这也将阻止我们偶尔手动拥有.Detach()个实体。我在EF Core中找到了一个解决方案,它可以执行以下操作:

public class MyContext : DbContext
{

  public MyContext() { 
    ChangeTracker.QueryTrackingBehavior = 
       QueryTrackingBehavior.NoTracking;
  }

  public DbSet<MyEntity> MyEntities {get;set;}
}

但是,实体框架6中的Context类似乎没有QueryTrackingBehavior属性ChangeTracker。有没有办法使用Entity Framework 6实现这一目标?

请注意,我已经考虑过使用AutoDetectChangesEnabled = false,但由于here概述的原因,它无效。

感谢所有帮助。

1 个答案:

答案 0 :(得分:3)

不,EF6中没有类似的功能