Compartilhar via


EntityDataSource.AutoGenerateWhereClause Propriedade

Definição

Obtém ou define um valor que indica se o EntityDataSource controle 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 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 AutoGenerateWhereClause propriedade é definida true como e a Where propriedade não é nula.

Exemplos

No exemplo a seguir, a AutoGenerateWhereClause propriedade é definida como true. Portanto, a Name propriedade deve corresponder a um nome de propriedade de tipo de entidade 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 filtrará os resultados da consulta comparando o valor TotalDue com um valor selecionado no controle de 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 temos que 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, equiparando 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 dos parâmetros na ParameterCollectionWhereParameters propriedade. A Name propriedade de cada parâmetro precisa corresponder a um nome de propriedade de tipo de entidade 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.

Aplica-se a