Bagikan melalui


EntityDataSource.AutoGenerateWhereClause Properti

Definisi

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 .

Berlaku untuk