RelationalQueryableExtensions.AsSplitQuery<TEntity> Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Retorna uma nova consulta configurada para carregar as coleções nos resultados da consulta por meio de consultas de banco de dados separadas.
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)
Parâmetros de tipo
- TEntity
O tipo de entidade que está sendo consultada.
Parâmetros
- source
- IQueryable<TEntity>
Consulta de fonte.
Retornos
Uma nova consulta em que as coleções serão carregadas por meio de consultas de banco de dados separadas.
Comentários
Esse comportamento pode melhorar significativamente o desempenho quando a consulta carrega várias coleções. No entanto, como consultas separadas são usadas, isso pode resultar em resultados inconsistentes quando ocorrem atualizações simultâneas. Embora transações serializáveis ou de instantâneo possam ser usadas para reduzir o problema e obter consistência em consultas divididas, isso pode resultar em outros custos de desempenho e diferenças de comportamento.
O comportamento de divisão de consulta padrão para consultas pode ser controlado por UseQuerySplittingBehavior(QuerySplittingBehavior).
Consulte as consultas divididas do EF Core para obter mais informações e exemplos.