Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Cekap Mendapatkan Nilai Berbeza daripada Medan Khusus dalam LINQ?
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!