Freigeben über


RelationalQueryableExtensions.AsSplitQuery<TEntity> Methode

Definition

Gibt eine neue Abfrage zurück, die zum Laden der Sammlungen in den Abfrageergebnissen über separate Datenbankabfragen konfiguriert ist.

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 abgefragten Entität.

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 Sammlungen lädt. Da jedoch separate Abfragen verwendet werden, kann dies bei gleichzeitigen Updates zu inkonsistenten Ergebnissen führen. Serialisierbare Transaktionen oder Momentaufnahmentransaktionen können verwendet werden, um das zu verhindern und Konsistenz bei aufgeteilten Abfragen zu erzielen. Dadurch kann jedoch die Leistung beeinträchtigt werden, und das Verhalten kann sich unterscheiden.

Das Standardverhalten der Abfrageaufteilung für Abfragen kann von UseQuerySplittingBehavior(QuerySplittingBehavior)gesteuert werden.

Weitere Informationen und Beispiele finden Sie unter EF Core-Splitabfragen .

Gilt für: