Relación ASP.NET MVC Many to Many, usando la tabla "My Own"

Soy bastante nuevo en el uso del enfoque Code First con el marco de la entidad y sé que tengo una relación de muchos a muchos, como las entidades a continuación, el EF creará la tabla intermediaria automáticamente:

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

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

Sin embargo, si en la tabla intermediaria necesito tener campos de datos adicionales, una forma posible (que actualmente me gusta, tal vez porque no conozco mejores formas) sería definir una nueva Entidad propia, como:

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

Usando este enfoque, EF crea mi tabla intermedia personalizada, pero también crea otra propia llamada "PostsCategories" que solo contiene una clave foránea para Post_Id y otra para Category_Id.

¿Cómo hago para que no cree ese extra y use el que he definido? ¿Es esta una buena forma de gestionar relaciones de Muchos a Muchos con campos de datos adicionales?

Respuestas a la pregunta(3)

Su respuesta a la pregunta