Compartir a través de


EntityDataSource.AutoGenerateWhereClause Propiedad

Definición

Obtiene o establece un valor que indica si el control EntityDataSource crea dinámicamente una cláusula WHERE según los valores definidos en la colección 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 de propiedad

Boolean

Es true si el control EntityDataSource crea la cláusula WHERE; de lo contrario, es false. El valor predeterminado es false.

Implementaciones

Excepciones

Cuando la propiedad AutoGenerateWhereClause se establece en true y la propiedad Where no es null.

Ejemplos

En el ejemplo siguiente, la AutoGenerateWhereClause propiedad se establece en true . Por lo tanto, el Name de la propiedad tiene que coincidir con un nombre de propiedad de tipo de entidad incluido en los resultados de la consulta. La consulta selecciona las propiedades SalesOrderID y TotalDue del tipo de entidad SalesOrderHeader. La cláusula generada automáticamente WHERE filtrará los resultados de la consulta comparando el valor de TotalDue con un valor seleccionado en el control de cuadro 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>

De forma predeterminada, la propiedad AutoGenerateWhereClause se establece en false. Esto significa que tenemos que proporcionar la WHERE cláusula. En el ejemplo siguiente, la WHERE cláusula es Where="it.TotalDue < @totalDueParam" y totalDueParam es el nombre del 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>

Comentarios

Para filtrar los resultados de la consulta mediante el equivalente de una propiedad de tipo de entidad en una expresión, puede usar la AutoGenerateWhereClause propiedad. Cuando la AutoGenerateWhereClause propiedad del EntityDataSource control se establece en true , el control genera automáticamente una WHERE cláusula a partir de los parámetros del ParameterCollection de la WhereParameters propiedad. La Name propiedad de cada parámetro tiene que coincidir con un nombre de propiedad de tipo de entidad incluido en los resultados de la consulta. Si establece la AutoGenerateWhereClause propiedad en true , no debe asignar explícitamente una WHERE cláusula a la Where propiedad.

Se aplica a