Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Melaksanakan Cascade Delete untuk Hubungan Satu-dengan-Sifar-atau-Satu dalam Kod Rangka Kerja Entiti Pertama?

Bagaimana untuk Melaksanakan Cascade Delete untuk Hubungan Satu-dengan-Sifar-atau-Satu dalam Kod Rangka Kerja Entiti Pertama?

Susan Sarandon
Lepaskan: 2025-01-11 14:03:41
asal
115 orang telah melayarinya

How to Implement Cascade Delete for One-to-Zero-or-One Relationships in Entity Framework Code First?

Kod Rangka Kerja Entiti Didahulukan: Lantunan Pemadaman dalam Perhubungan Satu-ke-Sifar-atau-Satu

Dalam Kod Rangka Kerja Entiti Pertama, mengurus perhubungan satu-ke-sifar-atau-satu memerlukan pertimbangan yang teliti terhadap pemadaman bertingkat. Ini memastikan entiti bergantung dialih keluar secara automatik apabila entiti induk yang berkaitan dipadamkan.

Mari kita menggambarkan dengan senario 'User' dan 'UserDetail'. 'Pengguna' mungkin mempunyai rekod 'UserDetail' atau tidak. Tanpa konfigurasi yang betul, pemadaman 'Pengguna' meninggalkan rekod 'UserDetail' yang berkaitan menjadi yatim.

Penyelesaian terletak pada penggunaan API fasih dalam kaedah OnModelCreating kelas DbContext anda:

<code class="language-csharp">protected override void OnModelCreating(DbModelBuilder modelBuilder)
{   
    modelBuilder.Entity<User>()
        .HasOptional(a => a.UserDetail)
        .WithOptionalDependent()
        .WillCascadeOnDelete(true);
}</code>
Salin selepas log masuk

Coretan kod ini mewujudkan perhubungan satu-ke-sifar-atau-satu menggunakan HasOptional dan WithOptionalDependent. Yang penting, WillCascadeOnDelete(true) mengaktifkan pemadaman bertingkat. Sekarang, pemadaman 'Pengguna' akan mengalih keluar masukan 'UserDetail' yang sepadan secara automatik, mengekalkan integriti data. Ini memudahkan kaedah Delete dalam UserRepository anda, memastikan kedua-dua rekod dialih keluar dalam satu operasi.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Cascade Delete untuk Hubungan Satu-dengan-Sifar-atau-Satu dalam Kod Rangka Kerja Entiti Pertama?. 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