EntityDataSource.AutoGenerateWhereClause Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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.