Подтвердить что ты не робот

Отключение отслеживания изменений EF для любого экземпляра контекста

У меня есть контекст для базы данных только для чтения для отчетности, и я пишу много кода, например:

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

    // Do stuff here with query...
}

Есть ли способ установить бит AsNoTracking чтобы только new представление ReportingContext выше автоматически использовало AsNoTracking вместо того, чтобы помнить, чтобы явным образом вызывал его каждый запрос?

4b9b3361

Ответ 1

Попробуйте изменить конструктор контекста следующим образом:

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

РЕДАКТИРОВАТЬ:

Это, в конце концов, не поможет вам, как указано в блоге Arthur, можно использовать только в определенных сценариях:

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