В выпуске # 14001 , то есть EF core 3.0.0, было добавлено, что DetectChanges
вызывается при доступе к Local
:
public override LocalView<TEntity> Local
{
get
{
CheckKey();
if (_context.ChangeTracker.AutoDetectChangesEnabled)
{
_context.ChangeTracker.DetectChanges();
}
return _localView ??= new LocalView<TEntity>(this);
}
}
DetectChanges
является сложный и поэтому относительно медленный метод. К счастью, как вы видите, если вы временно отключите AutoDetectChangesEnabled
, просто для вызова Local
, вы снова наберете скорость.
Я думаю, что это безопасно, если предположить, что в незамеченных изменениях нет _dbContext
при вводе метода.