Sdílet prostřednictvím


EntityDataSource.AutoGenerateWhereClause Vlastnost

Definice

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

Boolean

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.

Platí pro