ObjectQuery<T>.SelectValue<TResultType> 方法

定义

将查询结果限制为仅包含投影中指定的属性。

public:
generic <typename TResultType>
 System::Data::Objects::ObjectQuery<TResultType> ^ SelectValue(System::String ^ projection, ... cli::array <System::Data::Objects::ObjectParameter ^> ^ parameters);
public System.Data.Objects.ObjectQuery<TResultType> SelectValue<TResultType> (string projection, params System.Data.Objects.ObjectParameter[] parameters);
member this.SelectValue : string * System.Data.Objects.ObjectParameter[] -> System.Data.Objects.ObjectQuery<'ResultType>
Public Function SelectValue(Of TResultType) (projection As String, ParamArray parameters As ObjectParameter()) As ObjectQuery(Of TResultType)

类型参数

TResultType

ObjectQuery<T> 方法返回的 SelectValue<TResultType>(String, ObjectParameter[]) 的类型。

参数

projection
String

投影列表。

parameters
ObjectParameter[]

在分析时应在作用域内的一组可选查询参数。

返回

ObjectQuery<TResultType>

一个类型与特定投影兼容的新 ObjectQuery<T>。 返回的 ObjectQuery<T> 等效于应用了 SELECT VALUE 的原始实例。

例外

projectionnull

parametersnull

projection 是一个空字符串。

示例

此示例创建一个新的 ObjectQuery<T> ,其中包含一个结果,这些结果是从现有查询的结果投影的值序列 ProductID

using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    string queryString =
        @"SELECT VALUE product FROM
            AdventureWorksEntities.Products AS product";

    ObjectQuery<Product> productQuery1 =
        new ObjectQuery<Product>(queryString,
            context, MergeOption.NoTracking);

    ObjectQuery<Int32> productQuery2 =
        productQuery1.SelectValue<Int32>("it.ProductID");

    foreach (Int32 result in productQuery2)
    {
        Console.WriteLine("{0}", result);
    }
}

注解

SelectValue 用于返回简单类型、实体类型或复杂类型的值。 Select 方法用于需要行类型(而不是值类型)的投影。 有关详细信息,请参阅对象查询

方法 SelectValue 应用 参数 projection 指定的投影。 ObjectQuery<T> 方法返回的 SelectValue 必须具有与投影兼容的值类型,且必须具有与 SelectValue 的类型相同的类型。

适用于

另请参阅