kerangka entiti teras: mengendalikan banyak hubungan dengan bidang tambahan
API Fasih Rangka Kerja Entiti mempunyai batasan apabila menyesuaikan jadual persatuan hubungan yang banyak. Artikel ini memperincikan penyelesaian untuk menambahkan medan tambahan ke meja gabungan.
Reka bentuk model
Pertimbangkan model contoh ini:
<code class="language-csharp">public class Member { public int MemberID { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public virtual ICollection<MemberComment> MemberComments { get; set; } } public class Comment { public int CommentID { get; set; } public string Message { get; set; } public virtual ICollection<MemberComment> MemberComments { get; set; } } public class MemberComment { [Key, Column(Order = 0)] public int MemberID { get; set; } [Key, Column(Order = 1)] public int CommentID { get; set; } public virtual Member Member { get; set; } public virtual Comment Comment { get; set; } public int Something { get; set; } public string SomethingElse { get; set; } }</code>
mewakili jadual gabungan, termasuk sifat tambahan MemberComment
dan Something
. SomethingElse
batasan API yang fasih dan penyelesaian
secara langsung mengkonfigurasi jadual gabungan dengan medan tambahan menggunakan API yang fasih tidak mungkin. Penyelesaiannya adalah untuk melaksanakan dua hubungan satu-ke-banyak.
Pendekatan One-to-Many: Pertanyaan dan Operasi
Pendekatan ini membolehkan pertanyaan dan manipulasi data yang sama (menambah, mengemas kini, memadam) sebagai hubungan tradisional banyak. Secara kritis, ia membolehkan penapisan berdasarkan medan tambahan dalam jadual gabungan. Pemadaman Cascading akan berfungsi dengan betul kerana kekunci asing yang tidak dapat diketuk dalam jadual gabungan.
Kesimpulan
Walaupun API yang fasih tidak menyokong secara langsung jadual yang disesuaikan dengan banyak, menggunakan dua hubungan satu-ke-banyak menyediakan bersamaan berfungsi, menawarkan fleksibiliti untuk memasukkan dan menggunakan bidang tambahan dalam persatuan.Atas ialah kandungan terperinci Bagaimana untuk melaksanakan banyak hubungan dengan bidang tambahan dalam teras kerangka entiti?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!