Udostępnij za pośrednictwem


RelationalQueryableExtensions.AsSplitQuery<TEntity> Metoda

Definicja

Zwraca nowe zapytanie skonfigurowane do ładowania kolekcji w wynikach zapytania za pomocą oddzielnych zapytań bazy danych.

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 badanej jednostki.

Parametry

source
IQueryable<TEntity>

Zapytanie źródłowe.

Zwraca

IQueryable<TEntity>

Nowe zapytanie, w którym kolekcje będą ładowane za pomocą oddzielnych zapytań bazy danych.

Uwagi

To zachowanie może znacznie poprawić wydajność, gdy zapytanie ładuje wiele kolekcji. Jednak ponieważ używane są oddzielne zapytania, może to spowodować niespójne wyniki w przypadku współbieżnych aktualizacji. Transakcje z możliwością serializacji lub migawki mogą służyć do łagodzenia tego problemu i osiągnięcia spójności z podzielonymi zapytaniami, ale może to przynieść inne koszty wydajności i różnicę behawioralną.

Domyślne zachowanie dzielenia zapytań dla zapytań może być kontrolowane przez UseQuerySplittingBehavior(QuerySplittingBehavior)program .

Aby uzyskać więcej informacji i przykłady, zobacz Zapytania podzielone programu EF Core .

Dotyczy