RelationalQueryableExtensions.AsSplitQuery<TEntity> 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回一个新查询,该查询配置为通过单独的数据库查询在查询结果中加载集合。
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)
类型参数
- TEntity
要查询的实体的类型。
参数
- source
- IQueryable<TEntity>
源查询。
返回
IQueryable<TEntity>
通过单独的数据库查询加载集合的新查询。
注解
当查询加载多个集合时,此行为可以显著提高性能。 但是,由于使用了单独的查询,因此当发生并发更新时,这可能会导致结果不一致。 可以使用序列化事务或快照事务来缓解这种情况,并通过拆分查询实现一致性,但这可能导致其他性能成本和行为差异。
查询的默认查询拆分行为可以控制。UseQuerySplittingBehavior(QuerySplittingBehavior)
有关详细信息和示例,请参阅 EF Core 拆分查询 。