Sprache

EntityFrameworkQueryableExtensions.AsNoTracking<TEntity> Methode

Definition

Die Änderungsverfolgung verfolgt keine entitäten, die von einer LINQ-Abfrage zurückgegeben werden. Wenn die Entitätsinstanzen geändert werden, wird dies nicht von der Änderungsverfolgung erkannt und SaveChanges() speichert diese Änderungen nicht in der Datenbank.

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 entität, die abgefragt wird.

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ätsinstanz vermieden wird. Sie sollten die Änderungsnachverfolgung nicht deaktivieren, wenn Sie Entitätsinstanzen bearbeiten und diese Änderungen mithilfe SaveChanges()der Datenbank beibehalten möchten.

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

Das Standardnachverfolgungsverhalten für Abfragen kann durch QueryTrackingBehaviorgesteuert werden.

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

Gilt für: