DbExpressionBuilder.Select<TProjection> 方法

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

创建一个新的 DbProjectExpression,它对给定的输入集选择指定的表达式。

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

语法

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

returnValue = source.Select(projection)
public static DbProjectExpression Select<TProjection>(
    this DbExpression source,
    Func<DbExpression, TProjection> projection
)
[ExtensionAttribute]
public:
generic<typename TProjection>
static DbProjectExpression^ Select(
    DbExpression^ source, 
    Func<DbExpression^, TProjection>^ projection
)
static member Select : 
        source:DbExpression * 
        projection:Func<DbExpression, 'TProjection> -> DbProjectExpression
JScript does not support generic types and methods.

类型参数

  • TProjection
    projection 的方法结果类型。

参数

  • projection
    类型:System.Func<DbExpression, TProjection>
    一个方法,该方法指定在给定输入集的成员时如何派生投影的表达式。 此方法必须生成与 Select 兼容且可以解析为 DbExpression 的类型的实例。 备注中说明了针对 TProjection 的兼容性要求。

返回值

类型:System.Data.Entity.Core.Common.CommandTrees.DbProjectExpression
表示选择运算的一个新的 DbProjectExpression。

使用说明

在 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 或 projection 为 null

ArgumentNullException

projection 的结果为 null。

备注

若要与 Select 兼容,<typeparamref name="TProjection" /> 必须从 DbExpression 派生,或者必须是具有 DbExpression 派生的属性的匿名类型。 以下是 <typeparamref name="TProjection" /> 支持的类型的示例:<code>source.Select(x =&gt; x.Property("Name"))</code>(<typeparamref name="TProjection" /> 是 DbPropertyExpression)。 <code>source.Select(x =&gt; new { Name = x.Property("Name") })</code>(<typeparamref name="TProjection" /> 是具有 DbExpression 派生的属性的匿名类型)。

请参阅

参考

DbExpressionBuilder 类

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