Fehler 3007 beim Hinzufügen meines Entitätsmodells

entity-framework entity-relationship

Frage

Ich erhalte die Fehlermeldung 3007, wenn ich meiner Lösung mein Entitätsmodell hinzufüge.

Ich habe diese Links gefunden:

Gute Erkundung

Kurze Antwort

Über diesen Fehler:

Fehler 1 Fehler 3007: Problem bei der Zuordnung von Fragmenten ab Zeile 89, 94: Nicht-Primärschlüssel-Spalte [Person_ID] wird in beiden Fragmenten unterschiedlichen konzeptionellen Seiteneigenschaften zugeordnet kann unabhängig geändert werden.

Ihre Antwort: Ich stimme ihrer Schlussfolgerung zu, dass mein Problem durch einfaches Löschen der Person_ID Scalar Property und Verlassen der Navigation Property behoben wird. Dies ist jedoch nicht sehr skalierbar, da ich meine Datenbank dynamisch aufbaue und meine Entität sehr häufig aktualisiert wird. Ich möchte meine Entität nicht jedes Mal durcharbeiten und bereinigen, wenn ich sie aktualisiere.

Meine Frage: Gibt es eine Möglichkeit, den Fehler durch Korrigieren der Art und Weise, wie EF die Entität erstellt, zu beheben? Oder gibt es eine Möglichkeit, die Scalar-Eigenschaft durch Code zu entfernen? Vielleicht gibt es sogar ein paar Optionen, die ich übersehe.

Akzeptierte Antwort

Meine Erfahrung mit EF v1 ist Ihrer Erfahrung ähnlich. Wenn das EDM falsch generiert wird und Sie das Problem nicht umgehen können, müssen Sie das EDM manuell bearbeiten. EF v.Next (Entity Framework v4, glaube ich) wird Entity Data Models "Code Only" unterstützen, und der EDM-Designer soll viel besser sein. Die eine oder andere Verbesserung sollte unser Leben erleichtern. Bis dann...


Beliebte Antwort

Versuchen Sie, die Fremdbesitzspalte mithilfe des Entity-Modellentwurfs aus dem Entity-Set zu entfernen. Dadurch wird Ihr Problem gelöst

Zum Beispiel

Wir haben zwei Tabellen, einen für den Kunden und den anderen für die Bestellung . Beim Entity-Model-Design haben wir beim Hinzufügen dieses Ado.net-Entity-Frameworks eine Verknüpfung zwischen Kunden und Aufträgen hinzugefügt. Ich füge den beiden folgenden Tabellen Navigationseigenschaften hinzu.

Like Customer.Orders - Hier ist die Liste Order.Customer

Eins - viele Beziehung.

Daher müssen wir die Eigenschaft mit dem Namen CustomerId [Spalte Fremdschlüssel] aus dem Entitätssatz der Bestellung entfernen.

Als Referenz:

http://social.msdn.microsoft.com/forums/en-US/adodotnetentityframework/thread/2823634f-9dd1-4547-93b5-17bb8a882ac2/



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum