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.
Как сделать так, чтобы он не создавал лишний и использовал тот, который я определил? Это хороший способ управлять отношениями «многие ко многим» с помощью дополнительных полей данных?