次の方法で共有


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 が空の文字列です。

次の使用例は、既存のクエリの結果から予測される値のProductIDシーケンスである結果を含む新しい ObjectQuery<T> を作成します。

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 と同じ型である必要があります。

適用対象

こちらもご覧ください