Поделиться через


EntityFrameworkQueryableExtensions.AsNoTracking<TEntity> Метод

Определение

Средство отслеживания изменений не будет отслеживать сущности, возвращаемые запросом LINQ. Если экземпляры сущности изменены, это не будет обнаружено средство отслеживания изменений и SaveChanges() не будет сохранять эти изменения в базе данных.

public static System.Linq.IQueryable<TEntity> AsNoTracking<TEntity> (this System.Linq.IQueryable<TEntity> source) where TEntity : class;
static member AsNoTracking : System.Linq.IQueryable<'Entity (requires 'Entity : null)> -> System.Linq.IQueryable<'Entity (requires 'Entity : null)> (requires 'Entity : null)
<Extension()>
Public Function AsNoTracking(Of TEntity As Class) (source As IQueryable(Of TEntity)) As IQueryable(Of TEntity)

Параметры типа

TEntity

Тип запрашиваемой сущности.

Параметры

source
IQueryable<TEntity>

Исходный запрос.

Возвращаемое значение

IQueryable<TEntity>

Новый запрос, в котором результирующий набор не будет отслеживаться контекстом.

Исключения

source имеет значение null.

Комментарии

Отключение отслеживания изменений полезно для сценариев только для чтения, так как позволяет избежать дополнительных затрат на настройку отслеживания изменений для каждого экземпляра сущности. Не следует отключать отслеживание изменений, если вы хотите управлять экземплярами сущностей и сохранять эти изменения в базе данных с помощью SaveChanges().

Разрешение удостоверений не выполняется. Если сущность с заданным ключом имеет другой результат в результирующем наборе, то они будут разными экземплярами.

Поведением отслеживания по умолчанию для запросов можно управлять с помощью QueryTrackingBehavior.

Дополнительные сведения и примеры см. в разделе Запросы без отслеживания в EF Core .

Применяется к