Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menentukan Hujung Utama dalam Hubungan 1:1 Rangka Kerja Entiti?

Bagaimana untuk Menentukan Hujung Utama dalam Hubungan 1:1 Rangka Kerja Entiti?

Susan Sarandon
Lepaskan: 2025-01-21 22:36:11
asal
901 orang telah melayarinya

How to Define the Principal End in Entity Framework's 1:1 Relationships?

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:

  • Tamat utama: Satu hujung yang boleh wujud secara bebas, iaitu entiti yang bertanggungjawab untuk mencipta atau mengekalkan perhubungan.
  • Akhir hamba: Akhir yang bergantung pada hujung induk, iaitu entiti yang hanya boleh wujud apabila akhir induk wujud.

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

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