Entity Framework - "Problem beim Mapping von Fragmenten" -Fehler. Helfen Sie mir, die Erklärungen zu diesem Fehler zu verstehen

entity-framework

Frage

Fehler 3007: Problem beim Zuordnen von Fragmenten ab Zeile 186, 205: Nicht-Primärschlüssel-Spalte [WheelID] wird in beiden Fragmenten auf unterschiedliche konzeptionelle Seiteneigenschaften abgebildet unabhängig modifiziert.

Ich habe im Internet mehrere Stellen gefunden, die diesen Fehler beschreiben, aber ich verstehe sie einfach nicht. (verwirrter Smiley geht hier)

Ein
Zwei
Drei
Vier

Es gibt hier etwas ziemlich grundlegendes, ich muss fehlen. Kannst du es erklären, damit ich es verstehe? Vielleicht anhand meines Beispiels aus der Praxis?

alter Text http://i39.tinypic.com/2hppnoo.jpg

Fremdschlüssel 1: N Wheels.Id -> Slices.WheelId

Ich füge sie dem Entity Framework hinzu und WheelId ist in der Slices-Entity nicht sichtbar.

alter Text http://i43.tinypic.com/287hq87.jpg

Durchführen einer Problemumgehung (Löschen der Beziehung aus der Datenbank, bevor Tabellen zu EF hinzugefügt werden - und anschließend neu erstellt und EF aktualisiert werden). Ich konnte die WheelId dazu bringen, in Slices zu bleiben, aber dann wird der oben genannte Fehler angezeigt.

Akzeptierte Antwort

Da es sich bei Slices.WheelId um ein FK handelt, können Sie es nicht in Ihrem Clientmodell (Punkt) verfügbar machen. Es gibt jedoch Möglichkeiten, den Wert zu erhalten.

var wheelId = someSlice.Wheels.ID;

Update In EF 4 können Sie dies tun, indem Sie FK-Verknüpfungen anstelle von unabhängigen Verknüpfungen verwenden.


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