RelationalQueryableExtensions.AsSplitQuery<TEntity> Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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 .