EntityDataSource.AutoGenerateWhereClause Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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.