Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memadam Rekod Pendua dalam LINQ Berdasarkan Medan Tertentu?

Bagaimana untuk Memadam Rekod Pendua dalam LINQ Berdasarkan Medan Tertentu?

Mary-Kate Olsen
Lepaskan: 2025-01-03 06:10:40
asal
415 orang telah melayarinya

How to Delete Duplicate Records in LINQ Based on a Specific Field?

Memadam Pendua dalam Linq Berdasarkan Medan Jadual

Dalam Linq, pengendali berbeza menawarkan cara mudah untuk menghapuskan rekod pendua daripada jadual. Walau bagaimanapun, secara lalai, ia membandingkan keseluruhan rekod, bukan hanya medan tertentu.

Apabila anda berhasrat untuk menapis rekod pendua berdasarkan satu medan sahaja, seperti r.Teks dalam contoh anda, pendekatan yang diubah suai diperlukan .

Menggunakan pertanyaan yang anda berikan:

var query = (from r in table1
orderby r.Text
select r).distinct();
Salin selepas log masuk

akan menghalang pendua, tetapi berdasarkan kandungan gabungan semua medan, bukan hanya r.Teks.

Untuk mencapai hasil yang anda inginkan, pertimbangkan pertanyaan berikut:

table1.GroupBy(x => x.Text).Select(x => x.FirstOrDefault());
Salin selepas log masuk

Pertanyaan ini akan mengumpulkan jadual1 mengikut medan Teks menggunakan GroupBy . Dalam setiap kumpulan, ia memilih item pertama menggunakan FirstOrDefault(). Koleksi yang terhasil akan mengandungi baris di mana medan Teks adalah berbeza.

Atas ialah kandungan terperinci Bagaimana untuk Memadam Rekod Pendua dalam LINQ Berdasarkan Medan Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan