EntityDataSource.Select プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
クエリ結果に含めるプロパティを定義するプロジェクションを取得または設定します。
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
プロパティ値
ORDER BY 句の作成に使用されるパラメーター。
例外
Select プロパティがクエリ プロジェクションを指定し、EnableUpdate、EnableDelete、またはEnableInsertの値がtrue場合。
例
次の XML マークアップでは、 Select プロパティを使用して、Product 型の 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 の例は、productsという名前の次のObjectQuery<T>と同じです。
ObjectQuery<Product> products = context.Product
.Select(it.[ProductID], it.[Name], it.[ListPrice],
it.[Size], it.[Style], it.[Weight])
.OrderBy("it.[ProductID]");
注釈
EntityDataSource コントロールの Select プロパティには、Entity SQL クエリの SELECT ステートメントを表す文字列が含まれています。 これにより、クエリによって返されるオブジェクトから、指定したプロパティ セットを投影できます。
この文字列は、変更せずに Entity Framework によって実行される ObjectQuery<T> に渡されます。 このクエリは、 EntityDataSource コントロールによって規制されるデータのソースです。 Select プロパティに指定された文字列は、ObjectQuery<T>のSelect メソッドに渡される文字列と同じ形式を使用します。 SELECT 句を使用してクエリのプロジェクションを定義する方法の例については、「方法: 匿名型オブジェクトを返すクエリを実行する」を参照してください。
投影データの更新はサポートされていません。 つまり、 Select プロパティを使用してプロジェクションを指定すると、バインドされたデータ バインディングは更新をサポートしません。
ページングを有効にしてプロジェクションを定義する場合は、結果を並べ替えるプロパティを定義する必要があります。 つまり、Select プロパティをプロジェクションを定義し、AutoPageをtrueに設定する場合は、順序を定義するか、AutoGenerateOrderByClause プロパティをtrueに設定して ORDER BY パラメーターをOrderByParameters コレクションに追加するOrderBy プロパティも設定する必要があります。
Select は、 EnableUpdate、 EnableDelete、または EnableInsert が有効になっている場合は設定できません。
プロパティのプロジェクション (SELECT p.ProductID, p. Name FROM AdventureWorksEntities.Products AS p など) を返すクエリにSelectが設定されている場合は、DbDataRecordが返されます。