DbExpressionBuilder.SelectMany 方法

定义

重载

SelectMany(DbExpression, Func<DbExpression,DbExpression>)

创建一个新的 , DbApplyExpression 该表达式为给定输入集的每个元素计算一次给定的 apply 表达式,生成具有相应输入和应用列的行集合。 不包括计算结果为空集的行。 然后创建一个 DbProjectExpression ,从每一行中选择应用列,生成应用结果的整体集合。

SelectMany<TSelector>(DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression,TSelector>)

创建一个新的 , DbApplyExpression 该表达式为给定输入集的每个元素计算一次给定的 apply 表达式,生成具有相应输入和应用列的行集合。 不包括计算结果为空集的行。 然后创建一个 DbProjectExpression ,用于在每一行上选择指定的选择器,从而生成结果的整体集合。

SelectMany(DbExpression, Func<DbExpression,DbExpression>)

创建一个新的 , DbApplyExpression 该表达式为给定输入集的每个元素计算一次给定的 apply 表达式,生成具有相应输入和应用列的行集合。 不包括计算结果为空集的行。 然后创建一个 DbProjectExpression ,从每一行中选择应用列,生成应用结果的整体集合。

public static System.Data.Entity.Core.Common.CommandTrees.DbProjectExpression SelectMany (this System.Data.Entity.Core.Common.CommandTrees.DbExpression source, Func<System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression> apply);
static member SelectMany : System.Data.Entity.Core.Common.CommandTrees.DbExpression * Func<System.Data.Entity.Core.Common.CommandTrees.DbExpression, System.Data.Entity.Core.Common.CommandTrees.DbExpression> -> System.Data.Entity.Core.Common.CommandTrees.DbProjectExpression
<Extension()>
Public Function SelectMany (source As DbExpression, apply As Func(Of DbExpression, DbExpression)) As DbProjectExpression

参数

source
DbExpression

指定输入集的 DbExpression

apply
Func<DbExpression,DbExpression>

一个方法,表示要针对每个输入集成员计算一次的逻辑。

返回

从指定输入、应用绑定和 CrossApply DbExpressionKind 的新 DbApplyExpression 中选定应用程序列的新 DbProjectExpression。

例外

apply 生成的表达式为 null。

apply 生成的表达式没有集合类型。

适用于

SelectMany<TSelector>(DbExpression, Func<DbExpression,DbExpression>, Func<DbExpression,DbExpression,TSelector>)

创建一个新的 , DbApplyExpression 该表达式为给定输入集的每个元素计算一次给定的 apply 表达式,生成具有相应输入和应用列的行集合。 不包括计算结果为空集的行。 然后创建一个 DbProjectExpression ,用于在每一行上选择指定的选择器,从而生成结果的整体集合。

public static System.Data.Entity.Core.Common.CommandTrees.DbProjectExpression SelectMany<TSelector> (this System.Data.Entity.Core.Common.CommandTrees.DbExpression source, Func<System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression> apply, Func<System.Data.Entity.Core.Common.CommandTrees.DbExpression,System.Data.Entity.Core.Common.CommandTrees.DbExpression,TSelector> selector);
static member SelectMany : System.Data.Entity.Core.Common.CommandTrees.DbExpression * Func<System.Data.Entity.Core.Common.CommandTrees.DbExpression, System.Data.Entity.Core.Common.CommandTrees.DbExpression> * Func<System.Data.Entity.Core.Common.CommandTrees.DbExpression, System.Data.Entity.Core.Common.CommandTrees.DbExpression, 'Selector> -> System.Data.Entity.Core.Common.CommandTrees.DbProjectExpression
<Extension()>
Public Function SelectMany(Of TSelector) (source As DbExpression, apply As Func(Of DbExpression, DbExpression), selector As Func(Of DbExpression, DbExpression, TSelector)) As DbProjectExpression

类型参数

TSelector

选择器的方法结果类型。

参数

source
DbExpression

指定输入集的 DbExpression

apply
Func<DbExpression,DbExpression>

一个方法,表示要针对每个输入集成员计算一次的逻辑。

selector
Func<DbExpression,DbExpression,TSelector>

一个方法,指定如何在给定输入集元素和应用集元素的情况下派生结果集的元素。 此方法必须生成与 SelectMany 兼容的类型的实例,并且可以解析为 DbExpression 。 “备注”中介绍了有关 TSelector 的兼容性要求。

返回

从指定输入、应用绑定和 CrossApply DbExpressionKind 的新 DbApplyExpression 中选定给定选择器结果的新 DbProjectExpression。

例外

转换为 DbExpression 时,选择器的结果为 null。

apply 生成的表达式没有集合类型。 没有集合类型。

适用于