ASP.NET MVC отношение «многие ко многим», используя таблицу «My Own»

Я довольно новичок в использовании подхода Code First с структурой сущностей, и я знаю, что если у вас есть отношения многие ко многим, такие как сущности ниже, EF автоматически создаст промежуточную таблицу:

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

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

Однако, если в промежуточной таблице мне нужно иметь дополнительные поля данных, один из возможных способов (который мне сейчас нравится, может быть, потому что я не знаю о лучших способах) - это определение моей собственной сущности, например:

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;}
}

Используя этот подход, EF создает мою собственную таблицу-посредник, но также создает другую собственную таблицу с именем «PostsCategories», которая содержит только внешний ключ для Post_Id и еще один для Category_Id.

Как сделать так, чтобы он не создавал лишний и использовал тот, который я определил? Это хороший способ управлять отношениями «многие ко многим» с помощью дополнительных полей данных?

Ответы на вопрос(3)

Ваш ответ на вопрос