Freigeben über


EntityFrameworkQueryableExtensions.AsNoTracking<TEntity> Methode

Definition

Der Änderungsnachverfolgung verfolgt keine der Entitäten nach, die von einer LINQ-Abfrage zurückgegeben werden. Wenn die Entitätsinstanzen geändert werden, wird dies vom Änderungstracker nicht erkannt und SaveChanges() diese Änderungen nicht in der Datenbank beibehalten.

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)

Typparameter

TEntity

Der Typ der abgefragten Entität.

Parameter

source
IQueryable<TEntity>

Die Quellabfrage.

Gibt zurück

IQueryable<TEntity>

Eine neue Abfrage, bei der das Resultset nicht vom Kontext nachverfolgt wird.

Ausnahmen

source ist null

Hinweise

Das Deaktivieren der Änderungsnachverfolgung ist für schreibgeschützte Szenarien nützlich, da dadurch der Aufwand beim Einrichten der Änderungsnachverfolgung für jede Entität instance vermieden wird. Sie sollten die Änderungsnachverfolgung nicht deaktivieren, wenn Sie Entitätsinstanzen bearbeiten und diese Änderungen mithilfe von SaveChanges()beibehalten möchten.

Die Identitätsauflösung wird nicht ausgeführt. Wenn sich eine Entität mit einem bestimmten Schlüssel im Resultset in einem anderen Ergebnis befindet, handelt es sich um unterschiedliche Instanzen.

Das Standardnachverfolgungsverhalten für Abfragen kann von QueryTrackingBehaviorgesteuert werden.

Weitere Informationen und Beispiele finden Sie unter No-Tracking-Abfragen in EF Core .

Gilt für: