ObjectQuery<T>.Select(String, ObjectParameter[]) メソッド

定義

クエリ結果を、指定したプロジェクションで定義されているプロパティのみに制限します。

public:
 System::Data::Objects::ObjectQuery<System::Data::Common::DbDataRecord ^> ^ Select(System::String ^ projection, ... cli::array <System::Data::Objects::ObjectParameter ^> ^ parameters);
public System.Data.Objects.ObjectQuery<System.Data.Common.DbDataRecord> Select(string projection, params System.Data.Objects.ObjectParameter[] parameters);
member this.Select : string * System.Data.Objects.ObjectParameter[] -> System.Data.Objects.ObjectQuery<System.Data.Common.DbDataRecord>
Public Function Select (projection As String, ParamArray parameters As ObjectParameter()) As ObjectQuery(Of DbDataRecord)

パラメーター

projection
String

プロジェクションを定義する選択したプロパティの一覧。

parameters
ObjectParameter[]

このメソッドで使用される 0 個以上のパラメーター。

返品

SELECT が適用された元のインスタンスと同じDbDataRecord型の新しいObjectQuery<T> インスタンス。

例外

projectionnullです。

-又は-

parametersnullです。

projectionは空の文字列です。

次の使用例は、このクエリの結果のProductIDフィールドを含むデータ レコードを結果とする新しいObjectQuery<T>を作成します。

int productID = 900;
using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    string queryString = @"SELECT VALUE product FROM
        AdventureWorksEntities.Products AS product
        WHERE product.ProductID > @productID";

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

    productQuery1.Parameters.Add(new ObjectParameter("productID", productID));

    ObjectQuery<DbDataRecord> productQuery2 =
        productQuery1.Select("it.ProductID");

    foreach (DbDataRecord result in productQuery2)
    {
        Console.WriteLine("{0}", result["ProductID"]);
    }
}

注釈

Select は、 projection パラメーターで指定されたプロジェクションを適用します。 Select メソッドによって返されるObjectQuery<T>は、常にDbDataRecordの行型です。 SelectValue メソッドを使用して、単純型、エンティティ型、または複合型の値を返します。 詳細については、「 LINQ to Entities」を参照してください。

ナビゲーション プロパティがプロジェクションに含まれている場合、クエリ結果には入れ子になった DbDataRecord オブジェクトのコレクションが含まれます。

適用対象

こちらもご覧ください