EntityDataSource.AutoGenerateWhereClause Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
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à.