Udostępnij za pośrednictwem


EntityDataSource.AutoGenerateWhereClause Właściwość

Definicja

Pobiera lub ustawia wartość wskazującą, czy EntityDataSource kontrolka dynamicznie tworzy klauzulę WHERE na podstawie wartości zdefiniowanych w WhereParameters kolekcji.

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

Wartość właściwości

Boolean

true Jeśli EntityDataSource formant tworzy klauzulę WHERE; w przeciwnym razie false . Wartość domyślna to false.

Implementuje

Wyjątki

Gdy AutoGenerateWhereClause Właściwość jest ustawiona na true , a Where Właściwość nie ma wartości null.

Przykłady

W poniższym przykładzie AutoGenerateWhereClause Właściwość jest ustawiona na true . W związku Name z tym właściwość musi być zgodna z nazwą właściwości typu jednostki, która jest uwzględniona w wynikach zapytania. Zapytanie wybiera właściwości SalesOrderID i TotalDue typu jednostki SalesOrderHeader. Klauzula automatycznie wygenerowana WHERE filtruje wyniki zapytania, porównując wartość TotalDue z wartością wybraną w kontrolce pole listy 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>

Domyślnie AutoGenerateWhereClause Właściwość jest ustawiona na false . Oznacza to, że musimy podać WHERE klauzulę. W poniższym przykładzie WHERE klauzula jest Where="it.TotalDue < @totalDueParam" i totalDueParam jest nazwą 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>

Uwagi

Aby filtrować wyniki zapytania według równej właściwości typu jednostki do wyrażenia, można użyć AutoGenerateWhereClause właściwości. Gdy AutoGenerateWhereClause Właściwość EntityDataSource kontrolki jest ustawiona na true , formant automatycznie generuje WHERE klauzulę z parametrów we ParameterCollection WhereParameters właściwości. NameWłaściwość każdego parametru musi być zgodna z nazwą właściwości typu jednostki, która jest uwzględniona w wynikach zapytania. Jeśli ustawisz AutoGenerateWhereClause Właściwość na true , nie należy jawnie przypisywać WHERE klauzul do Where właściwości.

Dotyczy