Ich habe eine Transaktionstabelle, jede Transaktion hat 5-6 Kontakte beteiligt. Jeder Kontakt hat die gleichen Felder wie Name, Adresse, Zelle, E-Mail usw.
Das Beste, was ich denke, ist, dieselbe Kontakttabelle zu verwenden und sie fünfmal mit der Transaktionstabelle zu verknüpfen. Ich muss also nicht fünfmal dieselbe Art von Tabelle erstellen.
Das Problem beginnt, wenn ich mich mit dem Entity-Framework verbinde. Dies erfordert nur eine Beziehung.
Meine Frage ist, ob ich für jeden Kontakttyp 6 Kopien des Kontakts erstellen soll oder ob ich mit 6 Verknüpfungstabellen besser wäre (Eine Tabelle mit nur 2 IDs, damit ich eine Verknüpfung durchführen kann).
Ich denke, es ist ein sehr häufiges Problem, aber ich konnte keine klaren Informationen darüber finden, was der beste Weg ist.
BEARBEITEN:
Zunächst einmal ist es ein bisschen wie ein Müll-Framework, das nicht mehrere Beziehungen zwischen Entitätstypen anerkennt!
Wenn Sie so viele Fremdschlüssel haben, haben Sie wahrscheinlich in Zukunft mehr (oder weniger). Mit den @ Wil-Details der Lösung können Sie dies ohne Schemaänderungen erreichen.
Eine Problemumgehung, die Ihr Framework täuschen könnte, besteht darin, Ansichten in der Datenbank für jeden Ihrer Kontakttypen zu definieren und die Framework-Beziehung von der Transaktion zur Ansicht zu definieren. Zum Beispiel
Kann funktionieren oder nicht, abhängig davon, wie Ihr Framework mit der Datenbank interagiert.
quelle