Heim >Backend-Entwicklung >C++ >Wie kann man zuerst viele zu viele Beziehungen zu zusätzlichen Feldern im EF-Kerncode implementieren?

Wie kann man zuerst viele zu viele Beziehungen zu zusätzlichen Feldern im EF-Kerncode implementieren?

Linda Hamilton
Linda HamiltonOriginal
2025-01-31 10:56:10783Durchsuche

How to Implement Many-to-Many Relationships with Extra Fields in EF Core Code First?

Die multiplen -to -multiple -Beziehungen zu zusätzlichen Feldern im EF -Kerncode zuerst "

Einführung:

Entity Framework Core (EF Core) ermöglicht das Erstellen mehrerer Beziehungen zwischen Entitäten. EF Core unterstützt jedoch die Verbindungstabelle der Anpassung dieser Beziehungen jedoch nicht direkt. In diesem Artikel wird eine Ersatzmethode erörtert, mit der Code zuerst mehrere Beziehung mit zusätzlichen Feldern in der Assoziationstabelle erstellt wird.

Korrelation erstellen:

Wir werden zwei Paare von Mehrbeziehungen anstelle von direkten und mehr Beziehungen erstellen. Betrachten Sie beispielsweise die folgende Szene:

In diesem Szenario haben die Mitglieds- und Kommentarunternehmen mehrere Beziehungen, und die Mitgliedskompetenz repräsentiert die zugehörige Tabelle zusätzlicher Felder.

Abfrage:

<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>
Um die Verbindung mit zusätzlichen Feldern abzufragen, können Sie die Technologie namens "Projektion" verwenden:

Betrieb:

In diesem Modell fügen Sie Entitäten und Beziehungen hinzu, ähnlich wie andere Code erste Modelle:

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

Obwohl EF -Kern die mehrfachen Multiple -to -multiple -Beziehungen in den zugehörigen Tabellen in der Assoziationstabelle nicht direkt unterstützt, kann sie verwendet werden, um ähnliche Funktionen mit zwei Paaren von Multi -Beziehung zu erstellen. Diese Methode ermöglicht die Erstellung einer reichhaltigen Korrelation mit zusätzlichen Informationen, um flexiblere Datenmodellierung und Abfragefunktionen zu erzielen.

Das obige ist der detaillierte Inhalt vonWie kann man zuerst viele zu viele Beziehungen zu zusätzlichen Feldern im EF-Kerncode implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn