Rumah >pembangunan bahagian belakang >C++ >Bagaimana saya boleh melakukan pertanyaan linq pada datables?

Bagaimana saya boleh melakukan pertanyaan linq pada datables?

Linda Hamilton
Linda Hamiltonasal
2025-01-30 03:16:08822semak imbas

How Can I Perform LINQ Queries on DataTables?

Gunakan linq ke pertanyaan datata: Panduan Lengkap

Walaupun secara amnya dipercayai bahawa DataTatable tidak boleh digunakan secara langsung, ini sebenarnya boleh dicapai melalui beberapa teknik. DataTable tidak melaksanakan antara muka

secara lalai, jadi ia tidak dapat secara langsung menanyakan koleksi barisnya.

IEnumerable<T> Penyelesaiannya adalah dengan menggunakan kaedah pengembangan

yang disediakan oleh pemasangan

. Dengan memanggil kaedah ini pada DataTable, anda boleh mendapatkan objek System.Data.DataSetExtensions, dan kemudian anda boleh menggunakannya untuk pertanyaan LINQ. AsEnumerable() Contohnya, pertanyaan berikut akan mengembalikan semua baris yang IEnumerable<DataRow> 🎜> medan sama dengan 1:

myDataTable anda juga boleh menggunakan ekspresi lambda untuk membuat pertanyaan linq: RowNo

<code class="language-csharp">var results = from myRow in myDataTable.AsEnumerable()
              where myRow.Field<int>("RowNo") == 1
              select myRow;</code>
Sila ambil perhatian bahawa anda perlu menambah rujukan kepada pemasangan

dalam projek untuk mengakses sambungan ini.

<code class="language-csharp">var result = myDataTable.AsEnumerable()
                         .Where(myRow => myRow.Field<int>("RowNo") == 1);</code>
Jika anda perlu menukar hasil pertanyaan

kembali ke datatible, anda boleh menggunakan kaedah pengembangan System.Data.DataSetExtensions.

Atas ialah kandungan terperinci Bagaimana saya boleh melakukan pertanyaan linq pada datables?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn