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