EntityDataSource.AutoGenerateWhereClause Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získává nebo nastavuje hodnotu, která indikuje, jestli EntityDataSource ovládací prvek dynamicky vytvoří klauzuli WHERE na základě hodnot definovaných v WhereParameters kolekci.
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
Hodnota vlastnosti
true
Pokud EntityDataSource ovládací prvek vytvoří klauzuli WHERE; v opačném případě false
. Výchozí hodnota je false
.
Implementuje
Výjimky
Když AutoGenerateWhereClause je vlastnost nastavena na true
a Where vlastnost nemá hodnotu null.
Příklady
V následujícím příkladu AutoGenerateWhereClause je vlastnost nastavena na true
. Proto Name má vlastnost odpovídat názvu vlastnosti typu entity, která je obsažena ve výsledcích dotazu. Dotaz vybere vlastnosti SalesOrderID a TotalDue typu entity SalesOrderHeader. Klauzule automaticky generované WHERE
bude filtrovat výsledky dotazu porovnáním hodnoty TotalDue s hodnotou vybranou v ovládacím prvku seznam 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>
Ve výchozím nastavení AutoGenerateWhereClause je vlastnost nastavena na hodnotu false
. To znamená, že je nutné dodat WHERE
klauzuli. V následujícím příkladu je WHERE
klauzule Where="it.TotalDue < @totalDueParam"
a totalDueParam je název parametru.
<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>
Poznámky
Chcete-li filtrovat výsledky dotazu tím, že se na výraz rovná vlastnost typu entity, můžete použít AutoGenerateWhereClause vlastnost. Když AutoGenerateWhereClause EntityDataSource je vlastnost ovládacího prvku nastavena na true
, ovládací prvek automaticky vygeneruje WHERE
klauzuli z parametrů v ParameterCollection WhereParameters Vlastnosti. NameVlastnost každého parametru musí odpovídat názvu vlastnosti typu entity, který je součástí výsledků dotazu. Pokud nastavíte AutoGenerateWhereClause vlastnost na true
, neměli byste explicitně přiřadit WHERE
klauzuli Where Vlastnosti.