Share via


EntityDataSource.Select プロパティ

定義

クエリの結果に含めるプロパティを定義するプロジェクションを取得または設定します。

public:
 property System::String ^ Select { System::String ^ get(); void set(System::String ^ value); };
public string Select { get; set; }
member this.Select : string with get, set
Public Property Select As String

プロパティ値

String

ORDER BY 句の作成に使用するパラメーター。

例外

Select プロパティでクエリ プロジェクションおよび EnableUpdate の値を指定する場合、EnableDelete、または EnableInserttrue です。

次の XML マークアップでは、プロパティを使用して、 Select 製品の種類のプロパティを6つ持つプロジェクションを指定します。

<asp:EntityDataSource ID="ProductDataSource" runat="server"
    ConnectionString="name=AdventureWorksEntities"
    DefaultContainerName="AdventureWorksEntities"
    EntitySetName="Product" OrderBy="it.[ProductID]"
    Select="it.[ProductID], it.[Name], it.[ListPrice],
    it.[Size], it.[Style], it.[Weight]">
</asp:EntityDataSource>

前の XML の例は、という名前のと同じです ObjectQuery<T> products

ObjectQuery<Product> products = context.Product
    .Select(it.[ProductID], it.[Name], it.[ListPrice],
      it.[Size], it.[Style], it.[Weight])
    .OrderBy("it.[ProductID]");

注釈

Selectコントロールのプロパティには、 EntityDataSource Entity SQL クエリのselectステートメントを表す文字列が含まれています。 これにより、クエリによって返されるオブジェクトから、指定された一連のプロパティを射影することができます。

この文字列は、変更せずに Entity Framework に ObjectQuery<T> よって実行されるに渡されます。 このクエリは、コントロールによって規制されるデータのソースです EntityDataSource 。 プロパティに指定された文字列は、 Select のメソッドに渡される文字列と同じ形式を使用し Select ObjectQuery<T> ます。 SELECT句を使用してクエリのプロジェクションを定義する方法の例については、「方法: 匿名型オブジェクトを返すクエリを実行する」を参照してください。

予測データでは更新はサポートされていません。 これは、プロパティを使用してプロジェクションを指定する場合、バインドされたデータバインディングは更新をサポートしないことを意味し Select ます。

ページングが有効になっているプロジェクションを定義する場合は、結果の順序付けに使用するプロパティを定義する必要があります。 つまり、 Select プロパティを定義済みのプロジェクションに設定し、をに設定した場合は、プロパティを設定して AutoPage 注文を true OrderBy 定義するか、 AutoGenerateOrderByClause プロパティをに設定 true し、order BY パラメーターをコレクションに追加する必要があります OrderByParameters

SelectEnableUpdateEnableDelete 、または EnableInsert が有効になっている場合、を設定することはできません。

Selectがプロパティの射影 (など) を返すクエリに設定されている場合は、が SELECT p.ProductID, p. Name FROM AdventureWorksEntities.Products AS p DbDataRecord 返されます。

適用対象