ASP.NET MVC Viele-zu-Viele-Beziehung unter Verwendung der Tabelle "Eigene"

Ich bin ziemlich neu in der Verwendung des Code First-Ansatzes mit dem Entity-Framework und ich weiß, dass die EF die Zwischentabelle automatisch erstellt, wenn Sie eine viel zu viele Beziehung wie die folgenden Entities haben:

class Post {
  ...
  public virtual ICollection<Category> Categories {get; set;}
  ... 
}

class Category {
   ...
   public virtual ICollection<Post> Posts {get; set;}
   ...
}

Wenn ich jedoch in der Zwischentabelle zusätzliche Datenfelder benötigen würde, wäre ein möglicher Weg (den ich derzeit mag, vielleicht weil ich keine besseren Wege kenne), eine eigene neue Entität zu definieren, wie:

class Posts_Categories {
   public int Id {get; set;}
   public int CategoryId {get; set;}
   public int PostId {get; set;}
   public string Exrtafield1 {get; set;}
   public int ex extraField2 {get; set;}
   ...
   public virtual Post Post {get; set;}
   public virtual Category Category {get; set;}
}

Mit diesem Ansatz erstellt EF meine benutzerdefinierte Zwischentabelle, erstellt jedoch auch eine eigene Tabelle mit dem Namen "PostsCategories", die nur einen Fremdschlüssel für Post_Id und einen anderen für Category_Id enthält.

Wie mache ich es, dass ich nicht das extra erstelle und das verwende, das ich definiert habe? Ist dies eine gute Möglichkeit, viele-zu-viele-Beziehungen mit zusätzlichen Datenfeldern zu verwalten?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage