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