Поделиться через


EntityDataSource.AutoGenerateWhereClause Свойство

Определение

Возвращает или задает значение, указывающее, динамически ли EntityDataSource элемент управления создает предложение WHERE на основе значений, определенных в WhereParameters коллекции.

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Значение , falseесли элемент EntityDataSource управления создает предложение WHERE; в противном случае . Значение по умолчанию — false.

Реализации

Исключения

AutoGenerateWhereClause Если для свойства задано true значение, а Where свойство не равно NULL.

Примеры

В следующем примере AutoGenerateWhereClause для свойства задано trueзначение . Name Поэтому свойство должен соответствовать имени свойства типа сущности, включенного в результаты запроса. Запрос выбирает свойства SalesOrderID и TotalDue типа сущности SalesOrderHeader. Автоматически созданное 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 значение, не следует явно назначать WHERE предложение свойствуWhere.true

Применяется к