EntityDataSource.AutoGenerateWhereClause Egenskap

Definition

Hämtar eller anger ett värde som anger om EntityDataSource kontrollen dynamiskt skapar en WHERE-sats baserat på värden som definierats i WhereParameters samlingen.

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

Egenskapsvärde

trueom kontrollen EntityDataSource skapar WHERE-satsen, annars . false Standardvärdet är false.

Implementeringar

Undantag

När egenskapen AutoGenerateWhereClause är inställd på true och egenskapen Where inte är null.

Exempel

I följande exempel är egenskapen AutoGenerateWhereClause inställd på true. Därför Name måste egenskapen matcha ett egenskapsnamn för entitetstyp som ingår i frågeresultatet. Frågan väljer egenskaperna SalesOrderID och TotalDue för entitetstypen SalesOrderHeader. Den automatiskt genererade WHERE satsen filtrerar frågeresultatet genom att jämföra TotalDue-värdet med ett värde som valts i listrutekontrollen 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>

Som standardvärde är egenskapen inställd på AutoGenerateWhereClausefalse. Det innebär att vi måste tillhandahålla klausulen WHERE . I följande exempel WHERE är Where="it.TotalDue < @totalDueParam" -satsen och totalDueParam är parameternamnet.

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

Kommentarer

Om du vill filtrera frågeresultat genom att likställa en entitetstypegenskap med ett uttryck kan du använda AutoGenerateWhereClause egenskapen . AutoGenerateWhereClause När kontrollens EntityDataSource egenskap är inställd truepå genererar kontrollen automatiskt en WHERE sats från parametrarna i ParameterCollectionWhereParameters egenskapen. Egenskapen Name för varje parameter måste matcha ett egenskapsnamn för entitetstyp som ingår i frågeresultatet. Om du anger AutoGenerateWhereClause egenskapen till truebör du inte uttryckligen tilldela en WHERE -sats Where till egenskapen.

Gäller för