Auswahl aus mehreren vielen zu vielen Beziehungen in EF Core programmgesteuertC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Auswahl aus mehreren vielen zu vielen Beziehungen in EF Core programmgesteuert

Post by Anonymous »

Ich habe eine Reihe von hochkomplexen vielen zu vielen Beziehungen, die ich gleichzeitig abfragen möchte, mit einigen zusätzlichen Komplexitäten, einschließlich zusammengesetzter Schlüssel und nicht immer , um all diese Beziehungen zu durchsuchen. Es ist ungefähr so ​​strukturiert: < /p>
[PrimaryKey(nameof(UserId1), nameof(UserId2))]
public class User {
public int UserID1;
public int UserID2;
public List
PostStar;
public List PostsMentioning;
public List PostsReblogged;
// misc data
public string UserName;
}

public class Post {
public class PostID;
public List InPostStar;
public List MentionsUsers;
public List RebloggedByUser;

// other misc. data
public int RandomValue;
}

public class PostStar {
public Post Post;
public User User;
public bool MadeAsPromotional;
// Thrown in largely so it has *some* primary key
public int Id;
}
< /code>
In meinem dbContext stelle ich eine viel-zu-Viele-Beziehung zwischen Benutzer und Post auf, die auf der postmentionionierung an Erwähnungen basieren, eine viel-zu-Viele-Beziehung zwischen Benutzer und Post basierend auf Postreblogged mit dem Umkreis von PostsReblogs und einem seltsamen Doppelpaar, das den Benutzern nach dem Start und dann nach dem Post-Star-Post-Star-post-post-post-post-post-post-post-post-post-stargte. Ich rufe nicht einfach mit der Verwendung von DeNtity an, um so viele zu ein-zu-Viele zu ermitteln, da MadeasPromotion nicht automatisch eingestellt ist. Es ist dafür zu komplex und erfordert eine Anwendungslogik. Daher habe ich eine zusätzliche Tabelle speziell nur für Poststar. Das Endergebnis ist der folgende Satz von Tabellen, die im DBContext offiziell definiert sind: < /p>
  • Benutzer (Primärschlüssel: Verbindungsverbindung von UserID1 und UserID2) < /li>

    posts (Primärschlüssel: postid) < /li>
    postStars (Primärschlüssel: ID) < /li> < /li> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < /> < />

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post