Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Cekap Mendapatkan Nilai Berbeza daripada Medan Khusus dalam LINQ?

Bagaimana untuk Cekap Mendapatkan Nilai Berbeza daripada Medan Khusus dalam LINQ?

Patricia Arquette
Patricia Arquetteasal
2024-12-28 21:48:111000semak imbas

How to Efficiently Get Distinct Values from a Specific Field in LINQ?

Mendapatkan Nilai Berbeza dalam LINQ Berdasarkan Medan Jadual

Dalam LINQ, pengendali berbeza biasanya digunakan untuk menghapuskan rekod pendua daripada sumber data. Walau bagaimanapun, apabila berurusan dengan set data yang besar, ia boleh menjadi tidak cekap jika anda hanya perlu menapis hasil berdasarkan medan tertentu.

Untuk menangani isu ini, pertimbangkan pertanyaan berikut:

var query = (from r in table1
orderby r.Text
select r).distinct();

Walaupun pertanyaan ini akan mengisih hasil mengikut medan Teks, ia tidak menjamin hasil yang berbeza semata-mata berdasarkan medan tersebut.

Untuk hasil nyata yang berbeza, anda boleh menggunakan pendekatan berikut:

table1.GroupBy(x => x.Text).Select(x => x.FirstOrDefault());

Pertanyaan ini mengumpulkan jadual mengikut medan Teks, pada asasnya membahagikan set data kepada kumpulan yang lebih kecil berdasarkan nilai Teks yang unik. Selepas itu, ia hanya memilih baris pertama daripada setiap kumpulan, dengan berkesan mengembalikan rekod yang berbeza tanpa memerlukan overhed mengisih keseluruhan set data.

Dengan menggunakan pendekatan ini, anda boleh mendapatkan semula nilai yang berbeza daripada jadual dengan cekap sambil memfokuskan hanya pada medan yang dikehendaki.

Atas ialah kandungan terperinci Bagaimana untuk Cekap Mendapatkan Nilai Berbeza daripada Medan Khusus dalam LINQ?. 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