IIncludableQueryable<TEntity,TProperty> 接口

定义

支持可查询的 Include/ThenInclude 链接运算符。

public interface IIncludableQueryable<out TEntity,out TProperty> : System.Collections.Generic.IEnumerable<out TEntity>, System.Linq.IQueryable<out TEntity>
type IIncludableQueryable<'Entity, 'Property> = interface
    interface IQueryable<'Entity>
    interface seq<'Entity>
    interface IEnumerable
    interface IQueryable
Public Interface IIncludableQueryable(Of Out TEntity, Out TProperty)
Implements IEnumerable(Of Out TEntity), IQueryable(Of Out TEntity)

类型参数

TEntity

实体类型。

这是协变类型参数。 即,可以使用指定的类型,也可以使用派生程度较高的任何类型。 有关协变和逆变的详细信息,请参阅泛型中的协变和逆变
TProperty

属性类型。

这是协变类型参数。 即,可以使用指定的类型,也可以使用派生程度较高的任何类型。 有关协变和逆变的详细信息,请参阅泛型中的协变和逆变
实现

注解

有关详细信息 和示例,请参阅数据库提供程序和扩展的实现EF Core 查询的工作原理

扩展方法

WithPartitionKey<TEntity>(IQueryable<TEntity>, String)

指定用于查询的分区的分区键。 使用基于分区键提供权限的资源令牌进行身份验证时是必需的,

AllAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

异步确定序列的所有元素是否都满足条件。

AnyAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

异步确定序列的任何元素是否满足条件。

AnyAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步确定序列是否包含任何元素。

AsAsyncEnumerable<TSource>(IQueryable<TSource>)

返回 IAsyncEnumerable<T> 可以异步枚举的 。

AsNoTracking<TEntity>(IQueryable<TEntity>)

更改跟踪器不会跟踪从 LINQ 查询返回的任何实体。 如果修改了实体实例,则更改跟踪器不会检测到这一点,并且 SaveChanges() 不会将这些更改保存到数据库。

AsNoTrackingWithIdentityResolution<TEntity>(IQueryable<TEntity>)

更改跟踪器不会跟踪从 LINQ 查询返回的任何实体。 如果修改了实体实例,则更改跟踪器不会检测到这一点,并且 SaveChanges() 不会将这些更改保存到数据库。

AsTracking<TEntity>(IQueryable<TEntity>)

返回一个新查询,其中更改跟踪器将跟踪返回的所有实体的更改。 在 期间 SaveChanges(),将检测到对实体实例所做的任何修改并将其保存到数据库。

AsTracking<TEntity>(IQueryable<TEntity>, QueryTrackingBehavior)

返回一个新查询,其中更改跟踪器将跟踪所返回的所有实体的更改,或者不会跟踪所返回的所有实体,具体取决于“track”参数的值。 跟踪时,将检测到对实体实例的任何修改,并在 期间 SaveChanges()保存到数据库。 如果不跟踪,如果修改了实体实例,则更改跟踪器不会检测到这一点,也不会 SaveChanges() 将这些更改保存到数据库。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列的平均值。

AverageAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列的平均值。

ContainsAsync<TSource>(IQueryable<TSource>, TSource, CancellationToken)

使用默认相等比较器异步确定序列是否包含指定的元素。

CountAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

异步返回序列中满足条件的元素数。

CountAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步返回序列中的元素数。

ElementAtAsync<TSource>(IQueryable<TSource>, Int32, CancellationToken)

异步返回序列中指定索引处的元素。

ElementAtOrDefaultAsync<TSource>(IQueryable<TSource>, Int32, CancellationToken)

异步返回序列中指定索引处的元素,如果索引超过范围,则返回默认值。

FirstAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

异步返回序列中满足指定条件的第一个元素。

FirstAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步返回序列的第一个元素。

FirstOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

异步返回序列中满足指定条件的第一个元素,如果未找到此类元素,则返回默认值。

FirstOrDefaultAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步返回序列的第一个元素;如果序列不包含任何元素,则返回默认值。

ForEachAsync<T>(IQueryable<T>, Action<T>, CancellationToken)

异步枚举查询结果,并针对每个元素执行指定的操作。

IgnoreAutoIncludes<TEntity>(IQueryable<TEntity>)

指定当前实体框架 LINQ 查询不应应用任何模型级预先加载导航。

IgnoreQueryFilters<TEntity>(IQueryable<TEntity>)

指定当前实体框架 LINQ 查询不应应用任何模型级实体查询筛选器。

Include<TEntity>(IQueryable<TEntity>, String)

指定要包含在查询结果中的相关实体。 要包含的导航属性从 () 查询 TEntity 实体的类型开始指定。 可以追加要包含的更多导航属性,并用“.”字符分隔。

Include<TEntity,TProperty>(IQueryable<TEntity>, Expression<Func<TEntity,TProperty>>)

指定要包含在查询结果中的相关实体。 要包含的导航属性从 () 查询 TEntity 实体的类型开始指定。 如果希望基于所包含类型的导航属性包含其他类型,请在此调用后链接对 的 ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity, IEnumerable<TPreviousProperty>>, Expression<Func<TPreviousProperty, TProperty>>) 调用。

LastAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

异步返回序列中满足指定条件的最后一个元素。

LastAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步返回序列的最后一个元素。

LastOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

异步返回序列中满足指定条件的最后一个元素,如果未找到此类元素,则返回默认值。

LastOrDefaultAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步返回序列的最后一个元素;如果序列不包含任何元素,则返回默认值。

Load<TSource>(IQueryable<TSource>)

枚举查询。 使用实体框架时,这会导致查询结果加载到关联的上下文中。 这相当于调用 ToList,然后丢弃列表 (,而无需实际创建列表) 开销。

LoadAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步枚举查询。 使用实体框架时,这会导致查询结果加载到关联的上下文中。 这相当于调用 ToList,然后丢弃列表 (,而无需实际创建列表) 开销。

LongCountAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

异步返回一个 , Int64 它表示序列中满足条件的元素数。

LongCountAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步返回一个 Int64 ,它表示序列中的元素总数。

MaxAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步返回序列的最大值。

MaxAsync<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>, CancellationToken)

对序列的每个元素异步调用投影函数,并返回最大值。

MinAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步返回序列的最小值。

MinAsync<TSource,TResult>(IQueryable<TSource>, Expression<Func<TSource,TResult>>, CancellationToken)

对序列的每个元素异步调用投影函数,并返回最小值。

SingleAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

异步返回序列中满足指定条件的唯一元素,如果存在多个此类元素,则会引发异常。

SingleAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步返回序列中唯一的元素,如果序列中没有正好有一个元素,则引发异常。

SingleOrDefaultAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Boolean>>, CancellationToken)

异步返回序列中满足指定条件的唯一元素;如果不存在此类元素,则返回默认值;如果多个元素满足条件,此方法将引发异常。

SingleOrDefaultAsync<TSource>(IQueryable<TSource>, CancellationToken)

异步返回序列的唯一元素,如果序列为空,则返回默认值;如果序列中有多个元素,此方法将引发异常。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Decimal>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Double>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int32>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Int64>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Decimal>>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Double>>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int32>>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Int64>>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Nullable<Single>>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列的总和。

SumAsync<TSource>(IQueryable<TSource>, Expression<Func<TSource,Single>>, CancellationToken)

异步计算通过对输入序列的每个元素调用投影函数获得的值序列的总和。

TagWith<T>(IQueryable<T>, String)

将标记添加到与 EF LINQ 查询关联的标记集合。 标记是查询注释,可在查询管道中的不同点提供上下文跟踪信息。

TagWithCallSite<T>(IQueryable<T>, String, Int32)

将标记添加到与 EF LINQ 查询关联的标记集合,这些标记具有源文件名称和调用行,方法可在查询管道的不同点提供上下文跟踪信息。

ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity,TPreviousProperty>, Expression<Func<TPreviousProperty,TProperty>>)

根据刚刚包含的相关类型指定要进一步包含的其他相关数据。

ToArrayAsync<TSource>(IQueryable<TSource>, CancellationToken)

通过异步枚举从 异步创建数组 IQueryable<T>

ToDictionaryAsync<TSource,TKey>(IQueryable<TSource>, Func<TSource,TKey>, IEqualityComparer<TKey>, CancellationToken)

Dictionary<TKey,TValue>通过根据指定的键选择器函数和比较器异步枚举它,从 IQueryable<T> 中创建 。

ToDictionaryAsync<TSource,TKey>(IQueryable<TSource>, Func<TSource,TKey>, CancellationToken)

Dictionary<TKey,TValue>通过根据指定的键选择器函数异步枚举它,从 IQueryable<T> 中创建 。

ToDictionaryAsync<TSource,TKey,TElement>(IQueryable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, IEqualityComparer<TKey>, CancellationToken)

Dictionary<TKey,TValue>通过根据指定的键选择器函数、比较器和元素选择器函数异步枚举 ,从 IQueryable<T> 中创建 。

ToDictionaryAsync<TSource,TKey,TElement>(IQueryable<TSource>, Func<TSource,TKey>, Func<TSource,TElement>, CancellationToken)

Dictionary<TKey,TValue>通过根据指定的键选择器和元素选择器函数异步枚举它,从 IQueryable<T> 中创建 。

ToListAsync<TSource>(IQueryable<TSource>, CancellationToken)

通过异步枚举从 异步创建 List<T>IQueryable<T>

AsSingleQuery<TEntity>(IQueryable<TEntity>)

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

AsSplitQuery<TEntity>(IQueryable<TEntity>)

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

ExecuteDelete<TSource>(IQueryable<TSource>)

从数据库中删除与 LINQ 查询匹配的实体实例的所有数据库行。

ExecuteDeleteAsync<TSource>(IQueryable<TSource>, CancellationToken)

从数据库中异步删除与 LINQ 查询匹配的实体实例的数据库行。

ExecuteUpdate<TSource>(IQueryable<TSource>, Expression<Func<SetPropertyCalls<TSource>,SetPropertyCalls<TSource>>>)

汇报与数据库中的 LINQ 查询匹配的实体实例的所有数据库行。

ExecuteUpdateAsync<TSource>(IQueryable<TSource>, Expression<Func<SetPropertyCalls<TSource>,SetPropertyCalls<TSource>>>, CancellationToken)

异步更新与数据库中的 LINQ 查询匹配的实体实例的数据库行。

FromSql<TEntity>(IQueryable<TEntity>, RawSqlString, Object[])
已过时.

基于原始 SQL 查询创建 LINQ 查询。

如果数据库提供程序支持在提供的 SQL 上进行撰写,则可以使用 LINQ 运算符在原始 SQL 查询的基础上进行撰写 - context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)

与任何接受 SQL 的 API 一样,必须参数化任何用户输入,以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为其他参数提供。 提供的任何参数值将自动转换为 DbParameter - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm)

此重载还接受 DbParameter 实例作为参数值。 这允许在 SQL 查询字符串中使用命名参数 - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))

FromSql<TEntity>(IQueryable<TEntity>, FormattableString)
已过时.

基于表示 SQL 查询的内插字符串创建 LINQ 查询。

如果数据库提供程序支持在提供的 SQL 上进行撰写,则可以使用 LINQ 运算符在原始 SQL 查询的基础上进行撰写 - context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)

与任何接受 SQL 的 API 一样,必须参数化任何用户输入,以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含内插参数占位符。 提供的任何内插参数值将自动转换为 DbParameter - context.Blogs.FromSql($"SELECT * FROM [dbo].[SearchBlogs]({userSuppliedSearchTerm})")

FromSql<TEntity>(IQueryable<TEntity>, String, Object[])

基于原始 SQL 查询创建 LINQ 查询。

如果数据库提供程序支持在提供的 SQL 上进行撰写,则可以使用 LINQ 运算符在原始 SQL 查询的基础上进行撰写 - context.Blogs.FromSql("SELECT * FROM dbo.Blogs").OrderBy(b => b.Name)

与任何接受 SQL 的 API 一样,必须参数化任何用户输入,以防止 SQL 注入攻击。 可以在 SQL 查询字符串中包含参数占位符,然后将参数值作为其他参数提供。 提供的任何参数值将自动转换为 DbParameter - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({0})", userSuppliedSearchTerm)

还可以构造 DbParameter 并将其作为参数值提供给 。 这允许在 SQL 查询字符串中使用命名参数 - context.Blogs.FromSql("SELECT * FROM [dbo].[SearchBlogs]({@searchTerm})", new SqlParameter("@searchTerm", userSuppliedSearchTerm))

适用于