Zuordnen eines Fremdschlüssels zu einem benutzerdefinierten Spaltennamen
Bin ich mit Entity Framework 4.3 code-first mit Oracle. Ich bin immer der folgende Fehler:
System.InvalidOperationException : Die ForeignKeyAttribute auf Eigentum "WidgetSequence' Typ 'WidgetDistributor.WidgetEntity' ist nicht gültig. Die foreign key name 'WIDGETSEQUENCE_ID' wurde nicht gefunden auf die abhängige Typ 'WidgetDistributor.WidgetEntity'. Der Name Wert ist eine durch Kommas getrennte Liste von foreign key-Eigenschaft Namen.
Meine Einheiten sind wie diese:
[Table("WIDGETENTITIES")]
public class WidgetEntity {
[Column("WIDGETENTITY_ID")]
public int Id { get; set; }
[ForeignKey("WIDGETSEQUENCE_ID")]
public WidgetSequence Sequence { get; set; }
//and other properties that map correctly
}
[Table("WIDGETSEQUENCES")]
public class WidgetSequence {
[Column("WIDGETSEQUENCE_ID")]
public int Id { get; set; }
[Column("NUMBER")]
public int Number { get; set; }
}
Mein code scheint korrekt zu sein. Was habe ich falsch gemacht, hier?
InformationsquelleAutor der Frage Byron Sommardahl | 2012-06-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
ForeignKey
Standardtitel erwartet, dass der name einer Eigenschaft in Ihrer Klasse als argument, aber Sie angesichts der Spalte name. Fluent-mappings.InformationsquelleAutor der Antwort Eranga
Wenn Sie nicht möchten, zu verwenden fluent-syntax, es gibt drei andere Möglichkeiten der Implementierung der Referenz mithilfe von datenanmerkungen (Persönlich bevorzuge ich Daten und Anmerkungen scheinen Sie leichter zu Lesen und geschrieben, nur über die Sachen, die Sie betreffen):
1.1)
Verwenden ForeignKey (mit einer zugehörigen Eigenschaft) - version 1
1.2)
Verwenden ForeignKey (mit einer zugehörigen Eigenschaft) - version 2
2)
Sie können auch die InversePropertyAttribute.
InformationsquelleAutor der Antwort Richard Pierre
Gibt es eine Tabelle namens Benutzer, und es hat einen primär-Schlüssel mit dem Namen UserID.
Gibt es eine weitere Tabelle namens-Verzeichnis, und es hat eine Spalte mit dem Namen UserID, die definiert ist als Fremdschlüssel zur Benutzer Tabelle.
Ich bin in der Lage, verwenden Sie die ForeignKey-Anmerkung zur Zuordnung der foreign key so:
InformationsquelleAutor der Antwort John Mott