Sdílet prostřednictvím


EntityDataSource.AutoGenerateWhereClause Vlastnost

Definice

Získá nebo nastaví hodnotu, která určuje, zda EntityDataSource ovládací prvek dynamicky vytváří klauzuli WHERE na základě hodnot definovaných v kolekci 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

Hodnota vlastnosti

true EntityDataSource pokud ovládací prvek vytvoří klauzuli WHERE; falsev opačném případě . Výchozí hodnota je false.

Implementuje

Výjimky

AutoGenerateWhereClause Pokud je vlastnost nastavena true a Where vlastnost není null.

Příklady

V následujícím příkladu AutoGenerateWhereClause je vlastnost nastavena na true. Name Proto se vlastnost musí shodovat s názvem vlastnosti typu entity, který je součástí výsledků dotazu. Dotaz vybere Vlastnosti SalesOrderID a TotalDue typu entity SalesOrderHeader. Automaticky vygenerovaná WHERE klauzule vyfiltruje 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 false. To znamená, že musíme dodat klauzuli WHERE . V následujícím příkladu WHERE je Where="it.TotalDue < @totalDueParam" klauzule 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 shodným s vlastností typu entity s výrazem, můžete tuto vlastnost použít AutoGenerateWhereClause . AutoGenerateWhereClause Pokud je vlastnost EntityDataSource ovládacího prvku nastavena na true, ovládací prvek automaticky vygeneruje WHERE klauzuli z parametrů vlastnosti ParameterCollectionWhereParameters. Vlastnost Name každého parametru musí odpovídat názvu vlastnosti typu entity, která je součástí výsledků dotazu. Pokud vlastnost nastavíte AutoGenerateWhereClause na true, neměli byste explicitně přiřazovat WHERE klauzuli k Where vlastnosti.

Platí pro