Sprache

RelationalQueryableExtensions.AsSplitQuery<TEntity> Methode

Definition

Gibt eine neue Abfrage zurück, die so konfiguriert ist, dass die Auflistungen in den Abfrageergebnissen über separate Datenbankabfragen geladen werden.

public static System.Linq.IQueryable<TEntity> AsSplitQuery<TEntity>(this System.Linq.IQueryable<TEntity> source) where TEntity : class;
static member AsSplitQuery : System.Linq.IQueryable<'Entity (requires 'Entity : null)> -> System.Linq.IQueryable<'Entity (requires 'Entity : null)> (requires 'Entity : null)
<Extension()>
Public Function AsSplitQuery(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 Sammlungen über separate Datenbankabfragen geladen werden.

Hinweise

Dieses Verhalten kann die Leistung erheblich verbessern, wenn die Abfrage mehrere Auflistungen lädt. Da jedoch separate Abfragen verwendet werden, kann dies zu inkonsistenten Ergebnissen führen, wenn gleichzeitige Updates auftreten. Serialisierbare oder Momentaufnahmentransaktionen können verwendet werden, um dies abzufedern und Konsistenz bei aufgeteilten Abfragen zu erzielen. Dies kann jedoch Performancekosten verursachen, und das Verhalten kann sich unterscheiden.

Das standardmäßige Abteilungsverhalten für Abfragen kann durch UseQuerySplittingBehavior(QuerySplittingBehavior)gesteuert werden.

Weitere Informationen und Beispiele finden Sie unter EF Core geteilte Abfragen .

Gilt für: