Menapis Entiti Lembut Dipadam dalam Rangka Kerja Entiti
Apabila menggunakan Kod Rangka Kerja Entiti Pertama dengan pendekatan "padam lembut", mendapatkan entiti sambil mengecualikan entiti tersebut ditanda sebagai dipadam lembut memerlukan penyelesaian yang disesuaikan.
Satu kaedah untuk menangani cabaran ini ialah memanfaatkan EntityFramework.DynamicFilters. Pustaka ini memanjangkan Rangka Kerja Entiti dengan mendayakan penciptaan penapis global yang boleh digunakan secara automatik semasa pelaksanaan pertanyaan.
Dengan mengatasi kaedah SaveChanges dalam DbContext anda, pemadaman lembut boleh dilaksanakan dengan berkesan. Selain itu, anda boleh menggunakan perpustakaan DynamicFilters untuk menentukan penapis global berdasarkan antara muka seperti ISoftDelete. Ini membenarkan pengecualian lancar entiti yang dipadam lembut semasa pengambilan semula.
Untuk mencapai ini, cuma masukkan baris berikut dalam kaedah DbContext.OnModelCreating() anda:
modelBuilder.Filter("IsDeleted", (ISoftDelete d) => d.IsDeleted, false);
Penapis ini akan secara automatik menyuntik klausa where ke dalam sebarang pertanyaan terhadap entiti yang melaksanakan ISoftDelete, memastikan entiti yang dipadam lembut dikecualikan.
Menggunakan pendekatan ini, anda boleh dengan mudah menapis entiti yang dipadam lembut dalam Rangka Kerja Entiti, memberikan pengalaman mendapatkan data yang lebih lancar dan cekap.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menapis Entiti Dipadam Lembut Dengan Cekap Menggunakan Rangka Kerja Entiti?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!