Rumah >pembangunan bahagian belakang >C++ >Bagaimana Mengenalpasti dan Mengkonfigurasi Hujung Utama dalam Rangka Kerja Entiti 1:1 Perhubungan?
Perhubungan Rangka Kerja Entiti 1:1: Mentakrifkan Entiti Utama
Dalam hubungan satu-dengan-satu Rangka Kerja Entiti, satu entiti ditetapkan sebagai "pengetua" dan satu lagi sebagai "bergantung". Entiti utama ialah entiti yang wujud secara bebas dan memiliki kunci utamanya sendiri. Entiti bergantung, sebaliknya, bergantung pada kunci asing yang merujuk kepada kunci utama entiti utama.
Contoh dan Pengenalan Entiti Utama
Mari kita periksa coretan kod ini:
<code class="language-csharp">public class Foo { public string FooId { get; set; } public Boo Boo { get; set; } } public class Boo { public string BooId { get; set; } public Foo Foo { get; set; } }</code>
Di sini, Foo
bertindak sebagai entiti utama kerana ia mempunyai kunci utamanya sendiri (FooId
). Boo
, sebaliknya, ialah entiti bergantung, merujuk FooId
melalui kunci asing.
Mengatasi Ralat "Tidak Dapat Menentukan Penghujung Prinsipal"
Apabila mengkonfigurasi perhubungan ini dalam Rangka Kerja Entiti, anda mungkin menghadapi ralat: "Tidak dapat menentukan hujung utama persatuan...". Ini timbul kerana Rangka Kerja Entiti memerlukan panduan yang jelas untuk mengenal pasti entiti utama.
Konfigurasi Penamat Prinsipal Eksplisit
Untuk menyelesaikan masalah ini, tentukan dengan jelas hujung utama menggunakan anotasi data atau API fasih.
Kaedah 1: Anotasi Data
Gunakan atribut [Key]
dan [ForeignKey]
untuk menentukan sifat kunci asing dalam entiti bergantung:
<code class="language-csharp">public class Boo { [Key, ForeignKey("Foo")] public string BooId { get; set; } public Foo Foo { get; set; } }</code>
Kaedah 2: API Fasih
Gunakan kaedah WithRequired()
untuk menetapkan entiti bergantung dan HasOptional()
untuk entiti utama:
<code class="language-csharp">modelBuilder.Entity<Foo>() .HasOptional(f => f.Boo) .WithRequired(s => s.Foo);</code>
Kesimpulan
Mengenal pasti dan mengkonfigurasi entiti utama dalam perhubungan 1:1 Rangka Kerja Entiti dengan betul adalah penting. Dengan mentakrifkan secara eksplisit hujung utama menggunakan sama ada anotasi data atau API fasih, anda mengelakkan ralat "Tidak dapat menentukan hujung utama" dan memastikan pemetaan pangkalan data yang tepat.
Atas ialah kandungan terperinci Bagaimana Mengenalpasti dan Mengkonfigurasi Hujung Utama dalam Rangka Kerja Entiti 1:1 Perhubungan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!