EntityDataSource.Where プロパティ

定義

クエリ結果をフィルター処理する方法を指定する Entity SQL 式を取得または設定します。

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

プロパティ値

WHERE 句。

実装

次の例の .aspx ファイルの XML マークアップは、コントロールから値を取得し、パラメーターとして プロパティに Where 渡します。

<asp:EntityDataSource ID="SalesOrderHeader" runat="server"
  ConnectionString="name=AdventureWorksEntities"
  DefaultContainerName="AdventureWorksEntities" EnableDelete="True"
  EnableInsert="True" EnableUpdate="True" EntitySetName="SalesOrderHeader"
  EntityTypeFilter="" OrderBy="it.TotalDue DESC" Select=""
   Where="it.OnlineOrderFlag = TRUE AND it.TotalDue > @ordercost">
  <WhereParameters>
    <asp:ControlParameter ControlID="costLimit" DbType="Int32"
      DefaultValue="2500" Name="ordercost" PropertyName="Text" />
  </WhereParameters>
</asp:EntityDataSource>

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

ObjectQuery<SalesOrderHeader> onlineOrders =
      context.SalesOrderHeader
       .Where("it.OnlineOrderFlag = TRUE AND it.TotalDue > @ordercost",
         new ObjectParameter("ordercost", orderCost))
        .OrderBy("it.TotalDue DESC");

注釈

Whereコントロールの EntityDataSource プロパティは、Entity SQL クエリの述語である WHERE 句を表す文字列です。 この文字列は、変更なしで Entity ObjectQuery<T> Framework によって実行される に渡されます。 このクエリは、コントロールによって規制されるデータの EntityDataSource ソースです。 プロパティに指定された文字列は、 の メソッドObjectQuery<T>Where渡される文字列と同じ形式をWhere使用します。 WHERE 句を使用してクエリをフィルター処理する方法の例については、「方法: データをフィルター処理する」を参照してください。

エンティティ型プロパティと式を同じにしてクエリ結果をフィルター処理するには、 プロパティに関する情報を AutoGenerateWhereClause 参照してください。

適用対象