Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk melaksanakan banyak hubungan dengan bidang tambahan dalam kod teras EF terlebih dahulu?
Pengenalan:
Rangka Kerja Entiti (Core EF) membolehkan mewujudkan pelbagai hubungan antara entiti. Walau bagaimanapun, teras EF tidak secara langsung menyokong jadual sambungan menyesuaikan hubungan ini. Artikel ini membincangkan kaedah penggantian yang menggunakan kod terlebih dahulu untuk membuat pelbagai hubungan dengan bidang tambahan dalam jadual persatuan.Buat korelasi:
Kami akan membuat dua pasang pelbagai hubungan dan bukannya hubungan langsung dan lebih. Sebagai contoh, pertimbangkan adegan berikut:
Dalam senario ini, ahli dan entiti komen mempunyai pelbagai hubungan, dan ahli -ahli mewakili jadual yang berkaitan dengan bidang tambahan.
pertanyaan:
<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 int Something { get; set; } public string SomethingElse { get; set; } public virtual Member Member { get; set; } public virtual Comment Comment { get; set; } }</code>Untuk menanyakan persatuan dengan bidang tambahan, anda boleh menggunakan teknologi yang disebut "unjuran":
Operasi:
dalam model ini, menambah entiti dan hubungan yang serupa dengan kod lain model pertama:
<code class="language-csharp">// 查找 LastName = "Smith" 的成员的所有评论 var commentsOfMembers = context.Members .Where(m => m.LastName == "Smith") .SelectMany(m => m.MemberComments.Select(mc => mc.Comment)) .ToList();</code>Kesimpulan:
Walaupun teras EF tidak secara langsung menyokong hubungan berbilang -ke -budaya dalam jadual yang berkaitan dalam jadual persatuan, ia boleh digunakan untuk mewujudkan fungsi yang sama dengan dua pasang pelbagai hubungan. Kaedah ini membolehkan penciptaan korelasi yang kaya dengan maklumat tambahan untuk mencapai pemodelan data yang lebih fleksibel dan fungsi pertanyaan.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan banyak hubungan dengan bidang tambahan dalam kod teras EF terlebih dahulu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!