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 是用來傳回屬於簡單型別、實體類型或複雜類型的值。 您可以針對需要資料列型別而非實值型別 (Value Type) 的投影,使用 Select 方法。 如需詳細資訊,請參閱物件查詢

方法 SelectValue 會套用 參數所 projection 指定的投影。 ObjectQuery<T> 方法所傳回的 SelectValue 必須屬於與投影相容的實值型別,而且其型別必須與 SelectValue 的型別相同。

適用於

另請參閱