通过


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)

类型参数

参数

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相同。

适用于

另请参阅