Compartilhar via


RelationalQueryableExtensions.AsSplitQuery<TEntity> Método

Definição

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

IQueryable<TEntity>

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. Transações serializáveis ou instantâneo podem ser usadas para atenuar isso e obter consistência com consultas divididas, mas isso pode trazer outros custos de desempenho e diferença comportamental.

O comportamento de divisão de consulta padrão para consultas pode ser controlado por UseQuerySplittingBehavior(QuerySplittingBehavior).

Consulte Consultas divididas do EF Core para obter mais informações e exemplos.

Aplica-se a