Jazyk

RelationalQueryableExtensions.AsSplitQuery<TEntity> Metoda

Definice

Vrátí nový dotaz, který je nakonfigurovaný tak, aby načetl kolekce ve výsledcích dotazu prostřednictvím samostatných databázových dotazů.

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)

Parametry typu

TEntity

Typ dotazované entity.

Parametry

source
IQueryable<TEntity>

Zdrojový dotaz.

Návraty

IQueryable<TEntity>

Nový dotaz, ve kterém se kolekce načtou prostřednictvím samostatných databázových dotazů.

Poznámky

Toto chování může výrazně zvýšit výkon, když dotaz načte více kolekcí. Vzhledem k tomu, že se však používají samostatné dotazy, může to vést k nekonzistentním výsledkům při souběžných aktualizacích. Serializovatelné nebo snímkové transakce lze použít ke zmírnění tohoto omezení a dosažení konzistence s rozdělenými dotazy, ale to může přinést jiné náklady na výkon a rozdíl chování.

Výchozí chování rozdělení dotazu pro dotazy lze řídit UseQuerySplittingBehavior(QuerySplittingBehavior)pomocí .

Další informace a příklady najdete v rozdělených dotazech EF Core .

Platí pro