EntityDataSource.AutoGenerateWhereClause Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau menetapkan nilai yang menunjukkan apakah EntityDataSource kontrol secara dinamis membuat klausa WHERE berdasarkan nilai yang ditentukan dalam WhereParameters koleksi.
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
Nilai Properti
true
EntityDataSource jika kontrol membuat klausa WHERE; jika tidak, false. Nilai defaultnya adalah false.
Penerapan
Pengecualian
AutoGenerateWhereClause Ketika properti diatur ke true dan Where properti tidak null.
Contoh
Dalam contoh AutoGenerateWhereClause berikut, properti diatur ke true. Oleh karena itu, Name properti harus cocok dengan nama properti jenis entitas yang disertakan dalam hasil kueri. Kueri memilih properti SalesOrderID dan TotalDue dari jenis entitas SalesOrderHeader. Klausa yang dihasilkan WHERE secara otomatis akan memfilter hasil kueri dengan membandingkan nilai TotalDue dengan nilai yang dipilih dalam kontrol kotak daftar 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>
Secara default, AutoGenerateWhereClause properti diatur ke false. Ini berarti bahwa kita harus menyediakan WHERE klausul. Dalam contoh berikut, WHERE klausanya adalah Where="it.TotalDue < @totalDueParam" dan totalDueParam adalah nama parameter.
<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>
Keterangan
Untuk memfilter hasil kueri dengan menyamakan properti jenis entitas dengan ekspresi, Anda bisa menggunakan AutoGenerateWhereClause properti .
AutoGenerateWhereClause Ketika properti EntityDataSource kontrol diatur ke true, kontrol secara otomatis menghasilkan klausul WHERE dari parameter di ParameterCollectionWhereParameters properti . Properti Name dari setiap parameter harus cocok dengan nama properti jenis entitas yang disertakan dalam hasil kueri. Jika Anda mengatur AutoGenerateWhereClause properti ke true, Anda tidak boleh secara eksplisit menetapkan WHERE klausul ke Where properti .