Penomboran ialah aspek penting dalam pembangunan aplikasi, terutamanya apabila berurusan dengan set data yang besar. Rangka Kerja Entiti (EF) Teras 8 dalam C# menyediakan ciri berkuasa untuk melaksanakan penomboran yang cekap. Dalam panduan ini, kami akan meneroka amalan terbaik untuk melaksanakan penomboran menggunakan EF Core 8, bersama-sama dengan contoh.
EF Core menyediakan kaedah Langkau dan Ambil, yang penting untuk melaksanakan penomboran dengan cekap. Langkau membenarkan anda melangkau bilangan baris yang ditentukan, dan Ambil mengehadkan bilangan baris yang dikembalikan.
var pageNumber = 1; var pageSize = 10; var result = dbContext.YourEntity .OrderBy(e => e.SortingProperty) .Skip((pageNumber - 1) * pageSize) .Take(pageSize) .ToList();
Dalam contoh ini, pageNumber dan pageSize menentukan halaman semasa dan bilangan item setiap halaman, masing-masing.
Untuk operasi baca sahaja seperti mengambil data untuk tujuan paparan, pertimbangkan untuk menggunakan AsNoTracking untuk meningkatkan prestasi dengan mengelakkan overhed perubahan penjejakan.
var result = dbContext.YourEntity .AsNoTracking() .OrderBy(e => e.SortingProperty) .Skip((pageNumber - 1) * pageSize) .Take(pageSize) .ToList();
Ini amat berguna apabila anda tidak berniat untuk mengemas kini atau menyimpan perubahan pada entiti yang diambil.
Pastikan lajur yang digunakan untuk pengisihan diindeks. Lajur diindeks meningkatkan prestasi operasi pengisihan dengan ketara.
// Ensure SortingProperty is indexed modelBuilder.Entity<YourEntity>() .HasIndex(e => e.SortingProperty);
Lajur diindeks dengan cekap akan mempercepatkan pengisihan dan meningkatkan prestasi penomboran keseluruhan.
Untuk menentukan jumlah bilangan rekod tanpa mengambil semua data, gunakan Count sebelum menggunakan penomboran. Ini mengelakkan memuatkan data yang tidak diperlukan.
var totalRecords = dbContext.YourEntity.Count(); var result = dbContext.YourEntity .OrderBy(e => e.SortingProperty) .Skip((pageNumber - 1) * pageSize) .Take(pageSize) .ToList();
Berhati-hati apabila menggunakan Langkau dan Ambil untuk penomboran dalam senario di mana data boleh diubah suai serentak. Dalam kes sedemikian, pertimbangkan untuk menggunakan kaedah alternatif seperti penomboran set kekunci untuk ketekalan yang lebih baik.
Melaksanakan penomboran dengan cekap adalah penting untuk meningkatkan prestasi aplikasi yang berurusan dengan set data yang besar. Dengan mengikuti amalan terbaik ini, anda boleh memastikan logik penomboran anda dioptimumkan dan berskala apabila menggunakan EF Core 8 dalam C#.
Atas ialah kandungan terperinci C# | Amalan Terbaik untuk Penomboran menggunakan EF Core 8. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!