Rumah >pembangunan bahagian belakang >C++ >Bagaimana Mengenalpasti dan Mengkonfigurasi Hujung Utama dalam Rangka Kerja Entiti 1:1 Perhubungan?

Bagaimana Mengenalpasti dan Mengkonfigurasi Hujung Utama dalam Rangka Kerja Entiti 1:1 Perhubungan?

Patricia Arquette
Patricia Arquetteasal
2025-01-21 22:56:11294semak imbas

How to Identify and Configure the Principal End in Entity Framework 1:1 Relationships?

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!

Kenyataan:
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