3 Stimmen

EF Code-erster Elternteil-Kind-Zuordnung

Dies kann eine doppelte Frage sein, aber ich konnte keine richtige Antwort auf dieses Szenario bekommen. Ich habe die folgende Tabellenstruktur:

public class File
{
     public int FileId { get; set; } //PK
     public int VersionID { get; set; }

     public virtual ICollection FileLLocalCollection { get; set; }
}

public class FileLocal
{
     public int FileId { get; set; } //PK, FK
     public int LangID { get; set; } //PK,FK
     public string FileName { get; set; }
}

Ich habe die dritte Tabelle hier nicht aufgenommen (Es handelt sich im Wesentlichen um LangID (PK) & LangCode) Wie kann ich dieses Mapping im Fluent Api angeben, damit ich "FileLLocalCollection" mit jedem File-Objekt laden kann?

4voto

Ladislav Mrnka Punkte 355028

Der erste Teil Ihrer Zuordnung kann auf diese Weise durchgeführt werden:

modelBuilder.Entity()
    .HasMany(f => f.FileLocalCollection)
    .WithRequired()
    .HasForeignKey(fl => fl.FileId);

modelBuilder.Entity()
    .HasKey(fl => new {fl.FileId, fl.LangId});

Und der zweite Teil hängt davon ab, wie Ihre Lang definiert ist. Zum Beispiel, wenn Sie eine Navigationsproperty von FileLocal zu Lang hinzufügen, können Sie sie folgendermaßen zuordnen:

modelBuilder.Entity()
    .HasRequired(fl => fl.Lang)
    .WithMany()
    .HasForeignKey(fl => fl.LangId);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X