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

属性值

Boolean

如果 EntityDataSource 控件创建 WHERE 子句,则为 true;否则为 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 WhereParametersName每个参数的属性必须与查询结果中包含的实体类型属性名称相匹配。 如果将属性设置 AutoGenerateWhereClausetrue ,则不应显式将子句分配 WHEREWhere 属性。

适用于