语言

RelationalQueryableExtensions.AsSplitQuery<TEntity> 方法

定义

返回一个新查询,该查询配置为通过单独的数据库查询在查询结果中加载集合。

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 拆分查询 。

适用于