EntityDataSource.AutoGenerateWhereClause Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém ou define um valor que indica se o controlo EntityDataSource cria dinamicamente uma cláusula WHERE com base nos valores definidos na WhereParameters coleção.
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
Valor de Propriedade
true se o controlo EntityDataSource cria a cláusula WHERE; caso contrário, false. O valor predefinido é false.
Implementações
Exceções
Quando a AutoGenerateWhereClause propriedade está definida como true e a Where propriedade não é nula.
Exemplos
No exemplo seguinte, a AutoGenerateWhereClause propriedade é definida como true. Portanto, o Name de uma propriedade tem de corresponder a um nome de propriedade de tipo de entidade que está incluído nos resultados da consulta. A consulta seleciona as propriedades SalesOrderID e TotalDue do tipo de entidade SalesOrderHeader. A cláusula gerada WHERE automaticamente irá filtrar os resultados da consulta comparando o valor TotalDue com um valor selecionado no controlo da caixa de lista 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>
Por defeito, a AutoGenerateWhereClause propriedade é definida para false. Isto significa que temos de fornecer a WHERE cláusula. No exemplo seguinte, a WHERE cláusula é Where="it.TotalDue < @totalDueParam" e totalDueParam é o nome do parâmetro.
<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>
Observações
Para filtrar os resultados da consulta equiparando uma propriedade de tipo de entidade a uma expressão, pode usar a AutoGenerateWhereClause propriedade. Quando a AutoGenerateWhereClause propriedade do EntityDataSource controlo é definida para true, o controlo gera automaticamente uma WHERE cláusula a partir dos parâmetros na ParameterCollection da WhereParameters propriedade. A Name propriedade de cada parâmetro tem de corresponder a um nome de propriedade de tipo de entidade que está incluído nos resultados da consulta. Se definir a AutoGenerateWhereClause propriedade como true, não deve atribuir explicitamente uma WHERE cláusula à Where propriedade.