In meinem aktuellen Projekt habe ich Daten über Farben. Jede Farbe ist entweder eine echte Farbe (mit RGB-Werten) oder eine "Containerfarbe", die aus mehreren Farbschichten besteht.
Dies schafft potentiell zirkuläre Referenzen, die auf Anwendungsebene gefangen werden müssen (aber das ist another question)Wie definiere ich Tabellenrelationen in einer Zirkelreferenz?
So habe ich
Colors
------
+ (PK) Id
ColorComposition
-----------
+ (PK) Id
+ (FK) MotherColorId
+ (FK) ChildColorId
Als ich sie zu meinem Linq2Sql Schema hinzufügen bekomme ich seltsame Beziehungen. Das lässt mich an meiner Struktur zweifeln.
sollte Eine Farbe 0 bis viele ColorCompositions haben (Color.Id => ColorComposition.MotherColorId)
A ColorComposition sollte
Die erste Beziehung haben viele auf 1 Farbe (ColorComposition.ChildColorId => Color.Id) ist richtig interpretiert, aber die zweite nicht. Es ist in die falsche Richtung.
Wie sollte ich die letzte Beziehung in Bezug auf Fremdschlüssel definieren?
Ich habe noch nicht verstanden. Ist MultiColor eine Kombination von nur zwei Farben, oder Sie versuchen, n Farben wie eine "verknüpfte Liste" darzustellen (das Kind von einem ist eine Mutter in einem anderen)? –
Dupe von http://stackoverflow.com/questions/1079548/could-this-circular-data-reference-be-designed-besser von demselben Benutzer –
Bitte lesen Sie beide Fragen erneut. Sie beziehen sich auf die gleiche Situation, aber sie befassen sich mit einem anderen Problem. –