RelationalQueryableExtensions.AsSplitQuery<TEntity> Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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.