So richten Sie Entitätsbeziehungen in Entity Framework Core ein

8

Hier sind wir auf EF Core und haben 3 Tabellen:

  1. Neuigkeiten
  2. Elemente
  3. Links

Und mehr (außer Nachrichten, Artikel): Inhalt, Post, Formular usw.

Und meine Modelldefinitionen

%Vor%

Tabelle Links beschreibt URL für jede Nachricht und jeden Artikel. Das bedeutet, dass Links 4 Spalten hat:

  1. ID
  2. Typ - Nachrichten oder Artikel
  3. RowId - enthält ID des Artikels oder Nachrichten (abhängig vom Typ)
  4. URL

Wie richte ich die Beziehungen ein? Denken Sie daran, dass wir Entity nach URL in der Tabelle Links auflösen müssen.

    
Alex 25.03.2017, 11:57
quelle

5 Antworten

1

Dapper. Just Dapper, mit dem benutzerdefinierte Abfragen geschrieben werden können.

    
Alex 04.06.2017, 14:24
quelle
0

Aktualisieren

Ich habe deine Frage noch einmal gelesen und nun, um ehrlich zu sein, musst du keine weitere Tabelle für Links erstellen, sondern einfach eine Spalte zu News und Item hinzufügen und so weiter ... und alles wird gut.

%Vor%     
Valkyrie 25.03.2017 13:14
quelle
0

Ich würde Link ändern, um die Nullable int zu verwenden, und die Fremdschlüssel für diese Tabellen trennen:

%Vor%     
K Scandrett 05.04.2017 05:12
quelle
0

Ich denke, Sie können die Rowid aus der Linktabelle entfernen und eine Fremdschlüsselspalte in den anderen 2 Tabellen hinzufügen, die auf die ID-Spalte in der Linktabelle verweisen.

Wenn Sie nun die URL haben, haben Sie den Typ und die ID, Sie können den Inhalt einfach aus der entsprechenden Tabelle abfragen.

    
Antony Brahin 09.04.2017 02:12
quelle
0

Um die Eigenschaft NewRow und die Einschränkungen für die anderen beiden Tabellen zu haben, implementieren Sie es wie folgt:

%Vor%

Und dann legen Sie diese Eigenschaft als nicht in der ContextDB zugeordnet.

    
Matheus Valiente Souza 11.04.2017 19:24
quelle