Compartir a través de


RelationalQueryableExtensions.AsSplitQuery<TEntity> Método

Definición

Devuelve una nueva consulta que está configurada para cargar las colecciones en los resultados de la consulta a través de consultas de base de datos independientes.

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

Tipo de entidad que se consulta.

Parámetros

source
IQueryable<TEntity>

Consulta de origen.

Devoluciones

IQueryable<TEntity>

Nueva consulta en la que se cargarán las colecciones a través de consultas de base de datos independientes.

Comentarios

Este comportamiento puede mejorar significativamente el rendimiento cuando la consulta carga varias colecciones. Sin embargo, dado que se usan consultas independientes, esto puede dar lugar a resultados incoherentes cuando se producen actualizaciones simultáneas. Las transacciones serializables o de instantáneas se pueden usar para mitigar esta situación y lograr la coherencia con las consultas divididas, pero esto puede conllevar otros costos de rendimiento y diferencias de comportamiento.

El comportamiento de división de consultas predeterminado para las consultas se puede controlar mediante UseQuerySplittingBehavior(QuerySplittingBehavior).

Consulte Consultas divididas de EF Core para obtener más información y ejemplos.

Se aplica a