Rangka Kerja Entiti 1:1 Kepentingan tuan dalam perhubungan
Dalam Rangka Kerja Entiti, hubungan satu dengan satu diwakili oleh dua kelas dan sifat navigasi yang saling eksklusif. Untuk menghapuskan kekaburan, "tuan" mesti dinyatakan. Bahagian utama merujuk kepada bahagian dalam persatuan yang mula-mula memasukkan rekod dan mengekalkan perhubungan.
Ralat yang dihadapi dalam contoh terhasil daripada tidak menyatakan induk. Kod ini mentakrifkan dua kelas, Foo dan Boo, masing-masing mengandungi sifat navigasi yang menghala ke kelas lain, tetapi tidak menyatakan hujung mana yang harus diutamakan.
Takrif terminal utama
Dalam perhubungan satu dengan satu, tuan memiliki perhubungan itu dan menguruskan kekangan utama asing. Ia biasanya merupakan penghujung persatuan yang lebih stabil dan tahan lama. Dalam reka bentuk pangkalan data, bahagian utama biasanya dikenal pasti oleh kunci utama.
Contoh dan penyelesaian
Dalam contoh yang diberikan, kelas Foo ialah induk logik kerana ia tidak bergantung pada kewujudan tika Boo. Sebaliknya, kelas Boo tidak boleh wujud tanpa Foo yang berkaitan.
Untuk menyelesaikan ralat dalam Rangka Kerja Entiti, induk perlu dinyatakan dengan jelas. Ini boleh dicapai melalui anotasi data atau pemetaan yang lancar. Menggunakan anotasi data, ubah suai kelas Boo seperti berikut:
<code>public class Boo { [Key, ForeignKey("Foo")] public string BooId{get;set;} public Foo Foo{get;set;} }</code>
Sebagai alternatif, gunakan pemetaan fasih:
<code>modelBuilder.Entity<Foo>() .HasOptional(f => f.Boo) .WithRequired(s => s.Foo);</code>
Dengan menyatakan induk, ralat boleh diselesaikan dengan cekap untuk menentukan dan mengurus perhubungan satu dengan satu dalam Rangka Kerja Entiti.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Kekaburan dalam Perhubungan 1:1 Rangka Kerja Entiti dengan Menentukan Penghujung Prinsipal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!