2010-12-27 3 views
0

Ich habe versucht, eine einfache Eins-zu-viele-Beziehung im Entity Frameworks-Designer einzurichten. Die Tabellen sind Kategorie (1) und Transaktion (N). Hier ist, was ich getan habe:Einfache Eins-zu-Viele-Beziehung (Assoziation) schlägt im EF-Designer fehl

Add "association" 

End1 = Category, multiplicity 1, navigation property=Transaction 
End2 = Transaction, multiplicity Many, navigation property = Category 

Gebäude gab es mir die Fehlermeldung „Keine Zuordnung angegeben“. Ok, macht Sinn. So habe ich diese Abbildung:

Category 
    Category.CategoryID = Transaction.CategoryID 

Aber der Mapping Designer fügt auch automatisch eine Zuordnung für die Transaktionstabelle, die ich nicht herausfinden kann, wie löschen oder zum Einrichten:

Transaction 
    Transaction.TransactionID = ??? 

Weggehen es leer scheint am meisten gültig, aber das gibt mir: Fehler 3024 "muss Zuordnung für alle Schlüsseleigenschaften (TransactionID) angeben"

Und versuchen, es auf eine falsche Int-Eigenschaft nur in der Hoffnung, es ist ein Compiler-Fehler. Aber das gibt mir Fehler 3002 und 3003.

Ich verstehe nicht, was zu tun ist. Isnt Associations soll so benutzt werden?

Antwort

0

Ich empfehle, eine Entität für Catagory und eine Entität für Transaction zu erstellen (oder aus der Datenbank zu importieren). Fügen Sie nach Bedarf skalare Eigenschaften hinzu. Klicken Sie dann mit der rechten Maustaste auf Ihre Entität, klicken Sie auf Tabellenzuordnung, und ordnen Sie die Entitätseigenschaften den Tabellenfeldern zu. Beispiel: Ordnen Sie für das Entity "Kategorie" das Feld "CategoryID" einer CategoryID-Eigenschaft zu. Machen Sie dasselbe für die andere Entität. DANN erstellen Sie die Assoziation.

Beachten Sie, dass durch exponierte Fremdschlüssel verknüpfte Zuordnungen keine Zuordnungen aufweisen. BTW, wahrscheinlich möchten Sie auch Navigationseigenschaften hinzufügen.