Verwendung von Entity Framework 4.1 Code Zuerst, um eine Eins-zu-Eins-Beziehung für eine Eins-zu-viele-Beziehung in der Datenbank zu erzwingen

8

Ich versuche, EF1 für EF4.1-Code zuerst in einer Anwendung zu ändern, in der das -Schema nicht geändert werden kann , weil es in der SQL Server-Replikation verwendet wird. Das Schema ist fürchterlich arm und beschreibt an vielen Stellen Beziehungen von vorne nach hinten.

Was ich versuche, ist eine Eins-zu-Eins-Beziehung zwischen zwei Klassen zu erstellen, aber das Datenbankschema behält die Daten fälschlicherweise als eins zu viele.

%Vor%

Leider hat die Tabelle ClassB in der Datenbank einen Verweis auf ClassAId und nicht auf ClassA mit einer ClassBId, wie hier gezeigt:

%Vor%

Wie erstelle ich meine Zuordnungsdatei, die von EntityTypeConfiguration erbt, um diese Beziehung zu erzwingen.

%Vor%     
Swaff 05.04.2011, 11:26
quelle

2 Antworten

5

Dank Jakub Konecki für den Link zu dem Artikel, enthielt er nicht die Antwort, die ich suchte für, aber es tat Link zu einem früheren Post in der Reihe, wo ich die Antwort gefunden habe.

Der Weg, diese Eins-zu-eins-Verknüpfung zu erzwingen, ist wie folgt:

%Vor%

Diese Zuordnung lautet wie folgt:

%Vor%

Bitte beachten Sie, dass diese Lösung unidirektional ist und Folgendes nicht zulässt:

%Vor%

Wenn eine bidirektionale Verknüpfung erforderlich ist, der gefundene Link , der weiter ausführt.

Der von Jakub verlinkte Artikel ist Teil eines Reihe von Posts , die eine gute lesen, wenn Sie versuchen, Ihre EF4.1 Assoziationen zu sortieren.

    
Swaff 05.04.2011, 13:33
quelle
1

Schauen Sie hier nach:

Ссылка

Es ist ein Artikel für CTP5, aber ich denke, dass Sie in der Lage sein werden, flüssige API-Aufrufe in die RTm-Version zu übersetzen.

    
Jakub Konecki 05.04.2011 12:10
quelle