EntityDataSource.AutoGenerateWhereClause Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define um valor que indica se o controle EntityDataSource cria dinamicamente uma cláusula WHERE com base nos valores na coleção 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
Valor da propriedade
true
Se o EntityDataSource controle criar a cláusula WHERE; caso contrário, false
. O valor padrão é false
.
Implementações
Exceções
Quando a propriedade AutoGenerateWhereClause está definida como true
e a propriedade Where não é nula.
Exemplos
No exemplo a seguir, a AutoGenerateWhereClause propriedade é definida como true
. Portanto, o Name da propriedade deve 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 automaticamente WHERE
filtrará os resultados da consulta comparando o valor TotalDue para um valor selecionado no controle da caixa de listagem 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 padrão, a AutoGenerateWhereClause propriedade é definida como false
. Isso significa que precisamos fornecer a WHERE
cláusula. No exemplo a seguir, 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>
Comentários
Para filtrar os resultados da consulta ao equiparar uma propriedade de tipo de entidade a uma expressão, você pode usar a AutoGenerateWhereClause propriedade. Quando a AutoGenerateWhereClause Propriedade do EntityDataSource controle é definida como true
, o controle gera automaticamente uma WHERE
cláusula a partir dos parâmetros no ParameterCollection da WhereParameters propriedade. A Name propriedade de cada parâmetro deve corresponder a um nome de propriedade de tipo de entidade que está incluído nos resultados da consulta. Se você definir a AutoGenerateWhereClause propriedade como true
, não deverá atribuir explicitamente uma WHERE
cláusula à Where propriedade.