Eindeutige Schlüssel, die von Entity Framework nicht erkannt werden

8

Ich habe zwei Tabellen, Reports und Visualizations . Reports hat ein Feld, VisualizationID , das über einen Fremdschlüssel auf das gleichnamige Feld von Visualization verweist. Es hat auch einen eindeutigen Schlüssel auf dem Feld deklariert. VisualizationID kann nicht nulliert werden. Dies bedeutet, dass die Beziehung zwischen 0..1 und 1 liegen muss, da jedem Reports -Datensatz ein eindeutiger, nicht null% Visualizations -Datensatz zugeordnet sein muss.

Das Entity Framework sieht das nicht so. Ich erhalte den folgenden Fehler:

Error 113: Multiplicity is not valid in Role 'Report' in relationship 'FK_Reports_Visualizations'. Because the Dependent Role properties are not the key properties, the upper bound of the multiplicity of the Dependent Role must be *.

Was ist das Problem hier? Wie kann ich die EF dazu bringen, die richtige Beziehungsvielfalt zu erkennen?

    
David Pfeffer 26.01.2010, 17:40
quelle

2 Antworten

3

Die EF beschweren sich, weil es sich anhört, als ob Sie eine FK Association verwenden - was bedeutet, dass die VisualizationID eine Eigenschaft der Entität ist und es auch eine Visualisierungsreferenz gibt - und Sie können dies nicht mit FK Associations tun.

Wenn Sie jedoch Independent Associations verwenden - was bedeutet, dass es keine VisualizationID-Eigenschaft gibt - können Sie die Kardinalität einschränken.

Die Lösung besteht also darin, die VisualizationID-Eigenschaft aus der Entity zu entfernen. An diesem Punkt müssen Sie eine Zuordnung der Assoziation vorausgehen.

Hoffe, das hilft

Alex

    
Alex James 26.01.2010, 21:55
quelle
2

Ich bin gerade über das gleiche Problem gestolpert - Alex, Ihre Erklärung ist in meinem Fall richtig, aber natürlich, indem ich die FK-Spalte aus dem konzeptionellen Modell entferne, kann ich später nicht mehr mein verwandtes Objekt wechseln Indem ich den Wert des FK-Felds ändere ... muss ich zu den alten Tricks zurückkehren, um das zu tun!

Gibt es Pläne, uns zu erlauben, unseren Kuchen zu essen und ihn auch mit 1 zu 0..1 Beziehungen zu essen, d. h. in der Lage zu sein, das FK Feld auch zu haben?

Greg

(ps. Ich hätte kommentiert, aber mein Rep ist noch nicht hoch genug!)

    
Greg Neilson 24.02.2010 14:52
quelle