LinqDataSource.Select 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 mengatur properti dan nilai terhitung yang disertakan dalam data yang diambil.
public:
property System::String ^ Select { System::String ^ get(); void set(System::String ^ value); };
public string Select { get; set; }
member this.Select : string with get, set
Public Property Select As String
Nilai Properti
String yang digunakan untuk membuat klausa Pilih.
Contoh
Contoh berikut menunjukkan cara mengatur Select properti ke subset properti di objek data.
<asp:LinqDataSource
ContextTypeName="ExampleDataContext"
TableName="Products"
Select="new(Name, Category, Price)"
ID="LinqDataSource1"
runat="server">
</asp:LinqDataSource>
<asp:GridView
DataSourceID="LinqDataSource1"
ID="GridView1"
runat="server">
</asp:GridView>
<asp:LinqDataSource
ContextTypeName="ExampleDataContext"
TableName="Products"
Select="new(Name, Category, Price)"
ID="LinqDataSource1"
runat="server">
</asp:LinqDataSource>
<asp:GridView
DataSourceID="LinqDataSource1"
ID="GridView1"
runat="server">
</asp:GridView>
Contoh berikut menunjukkan cara mengambil nilai dalam properti yang telah digunakan untuk mengelompokkan data, dan untuk mengambil rata-rata untuk rekaman yang dikelompokkan. Kata Key kunci berisi properti yang telah digunakan untuk mengelompokkan data. Dalam contoh ini, Key akan berisi nilai bersama dari ProductCategory properti .
<asp:LinqDataSource
ContextTypeName="ExampleDataContext"
TableName="Products"
GroupBy="Category"
Select="new(Key as ProductCategory,
Average(Price) as AvePrice)"
ID="LinqDataSource1"
runat="server">
</asp:LinqDataSource>
<asp:GridView
AllowPaging="true"
DataSourceID="LinqDataSource1"
ID="GridView1"
runat="server">
</asp:GridView>
<asp:LinqDataSource
ContextTypeName="ExampleDataContext"
TableName="Products"
GroupBy="Category"
Select="new(Key as ProductCategory,
Average(Price) as AvePrice)"
ID="LinqDataSource1"
runat="server">
</asp:LinqDataSource>
<asp:GridView
AllowPaging="true"
DataSourceID="LinqDataSource1"
ID="GridView1"
runat="server">
</asp:GridView>
Keterangan
Jika Anda tidak mengatur Select properti , LinqDataSource kontrol mengambil semua properti (kolom data) dari objek data. Anda menggunakan Select properti untuk mengambil subset properti dari objek atau untuk menghitung nilai baru saat data diambil.
Anda menentukan properti mana yang akan diambil dengan mengatur Select properti ke nama properti yang ingin Anda sertakan dalam data yang dikembalikan.
Jika Anda mengambil subset properti dari objek data, LinqDataSource kontrol secara dinamis membuat kelas yang hanya berisi properti yang Anda tentukan di Select properti . Kelas juga dibuat secara dinamis jika Anda menghitung properti yang bukan properti dalam objek data. Dalam kasus ini, objek yang dikembalikan dari kueri bukan instans kelas yang ditentukan dalam TableName properti . Sebagai gantinya new , Anda harus menggunakan metode dalam Select properti untuk menunjukkan bahwa kelas baru dikembalikan dari kueri. Misalnya, untuk mengembalikan hanya FirstName properti dan LastName dari objek yang berisi lebih dari properti ini, atur Select properti ke new(FirstName, LastName). Kontrol LinqDataSource akan secara dinamis membuat kelas baru yang Anda tentukan dalam new metode .
Anda dapat menggunakan As kata kunci untuk menetapkan alias ke nilai yang dipilih. Jika Anda menetapkan alias, Anda harus menyertakan properti alias dalam metode .new Kontrol terikat data apa pun yang mengikat hasil dari LinqDataSource kontrol harus merujuk ke properti oleh alias. Misalnya, jika Anda mengatur Select properti ke new(Region As SalesRegion, Revenue / 1000 As RevenueThousands), kontrol terikat data dapat mengakses dua properti, SalesRegion dan RevenueThousands.
Anda menggunakan new fungsi dalam Select properti sesuai dengan kondisi yang tercantum dalam tabel berikut.
| Pilih | Penggunaan baru | Contoh |
|---|---|---|
| Properti tunggal. |
new tidak diperlukan. |
Select="Category" |
| Beberapa properti. |
new Diperlukan. |
Select="new(Category, Name)" |
| Properti tunggal atau beberapa yang memiliki alias. |
new Diperlukan. |
Select="new(Category As CategoryGroup)" |
Jika Anda ingin mengaktifkan modifikasi data otomatis, tetapi Anda tidak ingin menampilkan semua properti dari objek data, jangan atur Select properti . Sebagai gantinya, kelola tampilan melalui kontrol terikat data. Saat Anda menggunakan DetailsView kontrol atau GridView kontrol, Anda juga harus mengatur AutoGenerateRows atau AutoGenerateColumns properti ke false. Nilai apa pun yang tidak ditampilkan dalam kontrol terikat data disimpan dalam status tampilan. Mereka diteruskan tidak berubah ke sumber data saat pembaruan data dilakukan.
Saat Anda mengelompokkan data dalam kueri, Anda bisa menyertakan metode agregat dalam Select properti . Anda dapat menggunakan metode agregat berikut:
Count()Average(Kolom)Sum(Kolom)Max(Kolom)Min(Kolom)Where(keadaan)Any()All(keadaan)
Untuk informasi selengkapnya, lihat Gambaran Umum Kontrol Server Web LinqDataSource dan Cara: Mengelompokkan dan Mengagregasi Data Menggunakan Kontrol LinqDataSource.
Saat mengelompokkan data, Anda dapat menyertakan Key dan It, yang merupakan properti yang dibuat secara dinamis, di Select properti . Properti Key mengacu pada nilai dalam properti atau properti yang digunakan untuk mengelompokkan data. Misalnya, jika Anda mengelompokkan menurut properti bernama Category, Key properti akan berisi setiap nilai unik dalam Category properti . Properti It mengacu pada kumpulan rekaman individual dalam pengelompokan data. Anda dapat melakukan iterasi atas It properti untuk mengambil rekaman individual yang telah dikonsolidasikan dalam operasi pengelompokan. Misalnya, jika Anda mengelompokkan menurut properti bernama Category, It properti berisi semua rekaman individual yang berbagi nilai umum dalam Category properti .
Jika Anda menyertakan It kata kunci dalam Select properti saat mengelompokkan data, Anda harus menetapkan alias ke It kata kunci. Kontrol LinqDataSource akan melemparkan pengecualian jika It tidak memiliki alias. Anda dapat menetapkan alias ke Key kata kunci, tetapi ini tidak diperlukan.