DbExpressionBuilder.SelectMany 方法 (DbExpression, Func<DbExpression, DbExpression>)

[本页针对的是实体框架版本 6。最新版本以“实体框架”NuGet 包的形式提供。有关实体框架的更多信息,请参见 msdn.com/data/ef。]

创建一个新的 DbApplyExpression,它为给定输入集的每个元素计算一次给定的 apply 表达式,并生成具有相应 input 和 apply 列的行集合。 不包括 apply 计算结果为空集的行。 然后创建了 DbProjectExpression,它对每一行选择指定的 selector,并且生成结果的整个集合。

命名空间:  System.Data.Entity.Core.Common.CommandTrees.ExpressionBuilder
程序集:  EntityFramework(在 EntityFramework.dll 中)

语法

声明
<ExtensionAttribute> _
Public Shared Function SelectMany ( _
    source As DbExpression, _
    apply As Func(Of DbExpression, DbExpression) _
) As DbProjectExpression
用法
Dim source As DbExpression 
Dim apply As Func(Of DbExpression, DbExpression)
Dim returnValue As DbProjectExpression 

returnValue = source.SelectMany(apply)
public static DbProjectExpression SelectMany(
    this DbExpression source,
    Func<DbExpression, DbExpression> apply
)
[ExtensionAttribute]
public:
static DbProjectExpression^ SelectMany(
    DbExpression^ source, 
    Func<DbExpression^, DbExpression^>^ apply
)
static member SelectMany : 
        source:DbExpression * 
        apply:Func<DbExpression, DbExpression> -> DbProjectExpression
public static function SelectMany(
    source : DbExpression, 
    apply : Func<DbExpression, DbExpression>
) : DbProjectExpression

参数

返回值

类型:System.Data.Entity.Core.Common.CommandTrees.DbProjectExpression
一个新的 DbProjectExpression,它从具有指定输入和应用绑定且 CrossApply 为 DbExpressionKind 的一个新的 DbApplyExpression 中选择 apply 列。

使用说明

在 Visual Basic 和 C# 中,可以在 DbExpression 类型的任何对象上将此方法作为实例方法来调用。当使用实例方法语法调用此方法时,请省略第一个参数。有关详细信息,请参阅https://msdn.microsoft.com/zh-cn/library/bb384936(v=vs.113)https://msdn.microsoft.com/zh-cn/library/bb383977(v=vs.113)

异常

例外 条件
ArgumentNullException

source 或 apply 为 null。

ArgumentNullException

由 apply 生成的表达式为 null。

ArgumentException

source 没有集合结果类型。

ArgumentException

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

请参阅

参考

DbExpressionBuilder 类

SelectMany 重载

System.Data.Entity.Core.Common.CommandTrees.ExpressionBuilder 命名空间