Udostępnij za pośrednictwem


EntityFrameworkQueryableExtensions.AsNoTracking<TEntity> Metoda

Definicja

Monitor zmian nie będzie śledzić żadnych jednostek zwracanych z zapytania LINQ. Jeśli wystąpienia jednostek zostaną zmodyfikowane, nie zostanie to wykryte przez monitor zmian i SaveChanges() nie będzie utrwalać tych zmian w bazie danych.

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)

Parametry typu

TEntity

Typ badanej jednostki.

Parametry

source
IQueryable<TEntity>

Zapytanie źródłowe.

Zwraca

IQueryable<TEntity>

Nowe zapytanie, w którym zestaw wyników nie będzie śledzony przez kontekst.

Wyjątki

source to null.

Uwagi

Wyłączenie śledzenia zmian jest przydatne w scenariuszach tylko do odczytu, ponieważ pozwala uniknąć narzutów związanych z konfigurowaniem śledzenia zmian dla każdego wystąpienia jednostki. Nie należy wyłączać śledzenia zmian, jeśli chcesz manipulować wystąpieniami jednostek i utrwalać te zmiany w bazie danych przy użyciu polecenia SaveChanges().

Rozpoznawanie tożsamości nie zostanie wykonane. Jeśli jednostka z danym kluczem jest w innym wyniku w zestawie wyników, będą one różne wystąpienia.

Domyślne zachowanie śledzenia zapytań może być kontrolowane przez usługę QueryTrackingBehavior.

Aby uzyskać więcej informacji i przykłady, zobacz Brak zapytań śledzenia w programie EF Core .

Dotyczy