Takrifan sisi induk dalam Rangka Kerja Entiti 1:1 hubungan
Apakah terminal utama?
Dalam perhubungan 1:1, satu entiti mesti ditetapkan sebagai tuan dan entiti lain sebagai hamba. Tuan adalah entiti yang memiliki hubungan atau bertanggungjawab untuk mengekalkan hubungan, manakala hamba bergantung kepada kewujudan entiti tuan.
Analisis ralat kod
Ralat yang anda hadapi dalam Rangka Kerja Entiti disebabkan oleh bahagian utama yang tidak mentakrifkan dengan jelas hubungan antara Foo dan Boo. Rangka Kerja Entiti memerlukan spesifikasi ini untuk menentukan kunci utama entiti mana yang akan digunakan sebagai kunci asing untuk entiti bawahan.
Tuan dan hamba dalam hubungan 1:1
Dalam kod anda, hubungan antara Foo dan Boo ialah hubungan satu dengan satu. Begini cara untuk mengenal pasti tuan:
Dalam contoh anda, Foo sepatutnya menjadi tuan kerana ia boleh wujud secara bebas daripada entiti Boo. Boo, sebaliknya, bergantung kepada Foo kerana ia perlu memasukkan kunci utama Foo ke dalam pangkalan data.
Konfigurasikan terminal utama
Terdapat dua cara untuk mengkonfigurasi bahagian induk perhubungan 1:1 dalam Rangka Kerja Entiti:
Pemetaan Fasih:
<code class="language-csharp">modelBuilder.Entity<Foo>() .HasOptional(f => f.Boo) .WithRequired(s => s.Foo);</code>
Anotasi data:
<code class="language-csharp">public class Foo { [Key] public string FooId { get; set; } public Boo Boo { get; set; } } public class Boo { [Key, ForeignKey("Foo")] public string BooId { get; set; } public Foo Foo { get; set; } }</code>
Dengan mentakrifkan induk, anda menyatakan bahawa Foo memiliki perhubungan itu dan Boo hanya boleh wujud jika rekod Foo yang sepadan wujud.
Atas ialah kandungan terperinci Bagaimana untuk Menentukan Hujung Utama dalam Hubungan 1:1 Rangka Kerja Entiti?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!