Condividi tramite


EntityDataSource.AutoGenerateWhereClause Proprietà

Definizione

Ottiene o imposta un valore che indica se il controllo EntityDataSource crea in modo dinamico una clausola WHERE in base ai valori definiti nell'insieme 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

Valore della proprietà

Boolean

true se il controllo EntityDataSource crea la clausola WHERE; in caso contrario, false. Il valore predefinito è false.

Implementazioni

Eccezioni

Se la proprietà AutoGenerateWhereClause è impostata su true e la proprietà Where non è Null.

Esempio

Nell'esempio seguente la AutoGenerateWhereClause proprietà viene impostata su true . Pertanto, l'oggetto Name della proprietà deve corrispondere a un nome di proprietà del tipo di entità incluso nei risultati della query. La query seleziona le proprietà SalesOrderID e TotalDue del tipo di entità SalesOrderHeader. La clausola generata automaticamente WHERE consente di filtrare i risultati della query confrontando il valore di TotalDue con un valore selezionato nel controllo casella di riepilogo 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>

Per impostazione predefinita, la proprietà AutoGenerateWhereClause è impostata su false. Ciò significa che è necessario specificare la WHERE clausola. Nell'esempio seguente la WHERE clausola è Where="it.TotalDue < @totalDueParam" e totalDueParam è il nome del parametro.

<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>

Commenti

Per filtrare i risultati della query mediante l'uguaglianza di una proprietà del tipo di entità a un'espressione, è possibile usare la AutoGenerateWhereClause Proprietà. Quando la AutoGenerateWhereClause proprietà del EntityDataSource controllo è impostata su true , il controllo genera automaticamente una WHERE clausola dai parametri nell'oggetto ParameterCollection della WhereParameters Proprietà. La Name proprietà di ogni parametro deve corrispondere a un nome di proprietà del tipo di entità incluso nei risultati della query. Se si imposta la AutoGenerateWhereClause proprietà su true , è consigliabile non assegnare in modo esplicito una WHERE clausola alla Where Proprietà.

Si applica a