Sdílet prostřednictvím


RelationalQueryableExtensions.AsSplitQuery<TEntity> Metoda

Definice

Vrátí nový dotaz, který je nakonfigurovaný tak, aby načítá 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 používají samostatné dotazy, může to mít za následek nekonzistentní výsledky při souběžných aktualizacích. Serializovatelné transakce nebo transakce snímků lze tento problém zmírnit a dosáhnout konzistence s rozdělenými dotazy, ale to může přinést jiné náklady na výkon a chování.

Výchozí chování při dělení dotazů je možné řídit pomocí UseQuerySplittingBehavior(QuerySplittingBehavior).

Další informace a příklady najdete v tématu Rozdělené dotazy EF Core .

Platí pro