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

时间:2013-09-20 20:15:26

标签: c# entity-framework entity-framework-4.1 change-tracking

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

using (var context = new ReportingContext())
{
    var reportXQuery = context.ReportX.AsNoTracking();

    // Do stuff here with query...
}

有没有办法设置AsNoTracking位,只有new上面的ReportingContext会自动使用AsNoTracking,而不是需要记住明确地调用它每个查询?

1 个答案:

答案 0 :(得分:18)

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

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

修改

这毕竟不会帮助你,正如Arthur的博客所述,它只能在特定场景中使用:

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