Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Melaksanakan Pemadaman Bertingkat untuk Perhubungan Satu-ke-Sifar-atau-Satu dalam Kod Rangka Kerja Entiti Pertama?

Bagaimana untuk Melaksanakan Pemadaman Bertingkat untuk Perhubungan Satu-ke-Sifar-atau-Satu dalam Kod Rangka Kerja Entiti Pertama?

Barbara Streisand
Lepaskan: 2025-01-11 14:06:43
asal
679 orang telah melayarinya

How to Implement Cascading Deletes for One-to-Zero-or-One Relationships in Entity Framework Code First?

Kod Rangka Kerja Entiti Pertama: Melaksanakan Pemadaman Lata dalam Perhubungan Satu-ke-Sifar-atau-Satu

Mengekalkan integriti data dalam Kod Rangka Kerja Entiti Aplikasi Pertama selalunya memerlukan pertimbangan yang teliti terhadap tingkah laku pemadaman berlatarkan, terutamanya apabila berurusan dengan perhubungan satu-ke-sifar-atau-satu. Secara lalai, pemadaman entiti induk menyebabkan entiti anak yang berkaitan tetap utuh, berpotensi melanggar kekangan utama asing.

API yang fasih menawarkan penyelesaian. Katakan kita mempunyai entiti User dan entiti UserDetail pilihan, dipautkan melalui kunci utama dan asing. Untuk melaksanakan pemadaman berlatarkan, kami mengubah suai kaedah OnModelCreating DbContext kami:

<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

Konfigurasi ini menggunakan HasOptional, WithOptionalDependent dan WillCascadeOnDelete(true) untuk mentakrifkan perhubungan. WithOptionalDependent() menetapkan bahawa UserDetail secara pilihan bergantung pada User dan WillCascadeOnDelete(true) memastikan pemadaman User rekod turut memadamkan rekod UserDetail yang berkaitan.

Dengan persediaan ini, memadamkan entiti User melalui, sebagai contoh, kelas UserRepository, akan memadamkan entri UserDetail yang sepadan secara automatik, menghalang rekod yatim piatu dan mengekalkan konsistensi pangkalan data. Ingat bahawa pemadaman bertingkat harus dilaksanakan dengan bijak dan hanya apabila sejajar dengan logik perniagaan aplikasi anda untuk mengelakkan kehilangan data yang tidak diingini.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pemadaman Bertingkat untuk Perhubungan Satu-ke-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