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

我有一个用于报告的只读数据库的上下文,我正在编写大量代码,如下所示:

using (var context = new ReportingContext()) { var reportXQuery = context.ReportX.AsNoTracking(); // Do stuff here with query... } 

有没有办法设置AsNoTracking位,以便只是new上面的ReportingContext会自动使用AsNoTracking而不是需要记住每次查询显式调用它?

尝试将您的上下文构造函数更改为:

 public ReportingContext() { this.Configuration.AutoDetectChangesEnabled = false; } 

编辑:

毕竟这不会帮助你,正如亚瑟的博客所述,它仅在特定情况下可用:

http://blog.oneunicorn.com/2012/03/12/secrets-of-detectchanges-part-3-switching-off-automatic-detectchanges/