Language

EntityDataSource.AutoGenerateWhereClause プロパティ

定義

EntityDataSource コントロールが、WhereParameters コレクションで定義された値に基づいて WHERE 句を動的に作成するかどうかを示す値を取得または設定します。

public:
 property bool AutoGenerateWhereClause { bool get(); void set(bool value); };
public bool AutoGenerateWhereClause { get; set; }
member this.AutoGenerateWhereClause : bool with get, set
Public Property AutoGenerateWhereClause As Boolean

プロパティ値

true EntityDataSource コントロールが WHERE 句を作成する場合は。それ以外の場合はfalse。 既定値は false です。

実装

例外

AutoGenerateWhereClause プロパティが true に設定されていて、Where プロパティが null でない場合。

例

次の例では、 AutoGenerateWhereClause プロパティは true に設定されています。 したがって、プロパティの Name は、クエリ結果に含まれるエンティティ型のプロパティ名と一致する必要があります。 このクエリでは、SalesOrderHeader エンティティ型の SalesOrderID プロパティと TotalDue プロパティを選択します。 自動的に生成された WHERE 句は、TotalDue 値と TotalDueList リスト ボックス コントロールで選択された値を比較することで、クエリ結果をフィルター処理します。

<asp:EntityDataSource ID="SalesOrderHeaderWithAutoParam" runat="server"
   ConnectionString="name=AdventureWorksEntities"
   DefaultContainerName="AdventureWorksEntities"
   EntitySetName="SalesOrderHeaders"
   Select="it.SalesOrderID, it.TotalDue"
    AutoGenerateWhereClause="True">
    <WhereParameters>
        <asp:ControlParameter ControlID="TotalDueList"
           Name="TotalDue" PropertyName="SelectedValue" DbType="Decimal" />
    </WhereParameters>
</asp:EntityDataSource>

既定では、 AutoGenerateWhereClause プロパティは false に設定されます。 つまり、 WHERE 句を指定する必要があります。 次の例では、 WHERE 句は Where="it.TotalDue < @totalDueParam" で、totalDueParam はパラメーター名です。

<asp:EntityDataSource ID="SalesOrderHeaderWithOutAutoParam" runat="server"
   ConnectionString="name=AdventureWorksEntities"
   DefaultContainerName="AdventureWorksEntities"
   EntitySetName="SalesOrderHeaders"
   Where="it.TotalDue < @totalDueParam"
    Select="it.SalesOrderID, it.TotalDue">
    <WhereParameters>
        <asp:ControlParameter ControlID="TotalDueList"
           Name="totalDueParam" PropertyName="SelectedValue" DbType="Decimal" />
    </WhereParameters>
</asp:EntityDataSource>

注釈

エンティティ型プロパティを式に相当することによってクエリ結果をフィルター処理するには、 AutoGenerateWhereClause プロパティを使用できます。 AutoGenerateWhereClause コントロールの EntityDataSource プロパティが true に設定されている場合、コントロールは、WHERE プロパティのParameterCollectionのパラメーターからWhereParameters句を自動的に生成します。 各パラメーターの Name プロパティは、クエリ結果に含まれるエンティティ型のプロパティ名と一致する必要があります。 AutoGenerateWhereClause プロパティを true に設定する場合は、WHERE プロパティにWhere句を明示的に割り当てないようにしてください。

適用対象