Heim >Backend-Entwicklung >C++ >Wie implementieren Sie viele zu viele Beziehungen zu zusätzlichen Feldern im Entity Framework Core?
Entity Framework Core: Umgang mit vielen zu vielen Beziehungen zu zusätzlichen Feldern
Entity Framework Core's Fluent API hat Einschränkungen, wenn die Tabellen mit vielen zu vielen Beziehungen verbunden sind. Dieser Artikel beschreibt eine Problemumgehung zum Hinzufügen zusätzlicher Felder zur Join -Tabelle.
Modelldesign
Betrachten Sie dieses Beispielmodell:
<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>
Die Tabelle MemberComment
repräsentiert die Join -Tabelle, einschließlich zusätzlicher Eigenschaften Something
und SomethingElse
.
fließende API -Einschränkungen und Lösung
Konfigurieren der Join -Tabelle mit zusätzlichen Feldern mit der fließenden API ist nicht möglich. Die Lösung besteht darin, stattdessen zwei Eins-zu-Viele-Beziehungen zu implementieren.
Eins-zu-Vielfalt-Ansatz: Abfragen und Operationen
Dieser Ansatz ermöglicht eine ähnliche Abfrage- und Datenmanipulation (Hinzufügen, Aktualisieren, Löschen) als traditionelle viel-zu-Viele-Beziehung. Entscheidend ist, dass die Filterung auf der Grundlage der zusätzlichen Felder in der Join -Tabelle filteriert wird. Kaskadierende Deletten funktionieren aufgrund der nicht markierbaren Fremdschlüsse in der Join-Tabelle korrekt.
Schlussfolgerung
Während die fließende API nicht direkt angepasste, viele zu viele Join-Tabellen unterstützt, bietet die Verwendung von zwei Eins-zu-Viele-Beziehungen ein funktionales Äquivalent und bietet die Flexibilität, zusätzliche Felder innerhalb des Vereins einzubeziehen und zu verwenden.
Das obige ist der detaillierte Inhalt vonWie implementieren Sie viele zu viele Beziehungen zu zusätzlichen Feldern im Entity Framework Core?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!