Ich habe ein Problem mit Entity Framework 6 Code zuerst erstellen mehrere Fremdschlüssel aus meinen Klassen, wenn es nur eine erstellen sollte. Betrachten Ich habe 2 Klassen -C# Entity Framework - Mehrere Fremdschlüssel
public class Work
{
public Work()
{
Document1 = new Collection<Document>();
Document2 = new Collection<Document>();
Document3 = new Collection<Document>();
}
[Key]
public int WorkId { get; set; }
public virtual ICollection<Document> Document1 { get; set; }
public virtual ICollection<Document> Document2 { get; set; }
public virtual ICollection<Document> Document3 { get; set; }
}
public class Document
{
public int? WorkId { get; set; }
[ForeignKey("WorkId")]
public Work Work { get; set; }
}
Nun, wenn ich den Code zuerst update-Datenbank Befehl ausführen, in meine Dokumente Tabelle es 3 verschiedene Fremdschlüssel für den Arbeitstisch schafft WorkId, Work_Id1 , Work_Id2, dies sollte nur ein Fremdschlüssel anstelle von 3 sein. Ich weiß, es sollte eine einfache Annotation sein, um dies zu beheben oder eine fließende Zuordnung, die ich hinzufügen muss?
'Arbeit' ist verbunden mit' Dokument' durch drei Eigenschaften (Sammlung) Dokument1, Dokument2 und Dokument3. Deshalb erstellt er drei Fremdschlüssel. Wenn Sie nur einen Fremdschlüssel angeben möchten, werden die anderen beiden mit der Dokumenteneinheit verbunden. –