Comment puis-je carte à une table à l'aide de Entity Framework Code First avec API Fluent

Je suis nouveau sur asp.net mvc et entity framework code first apporach, je ne suis pas vif sur les bases de données. Je m'excuse à l'avance pour une terminologie ou de la façon dont je comprends les choses.

Maintenant à la question. J'ai les modèles suivants:
Utilisateur Modèle

 public class User
{
    public int UserId { get; set; }
    public string Username { get; set; }
    public string Password { get; set; }

    public int RoleId { get; set; }

    [ForeignKey("RoleId")]
    public virtual IEnumerable<Role> Roles { get; set; }
}

Modèle

 public class Role
{
    public int RoleId { get; set; }
    public string RoleName { get; set; }       
}

Ce que je veut est une façon d'utiliser Ef codefirst approche avec l'API fluent à la carte le nom d'utilisateur et RoleId à un User_Role table avec un un-à-plusieurs relation, un utilisateur peut avoir plusieurs rôles:
Comment puis-je carte à une table à l'aide de Entity Framework Code First avec API Fluent

Je suppose que ce qui à fait dans cette question approche est la bonne, sauf que là, l'auteur a utilisé un grand nombre de connexion. J'ai essayé de cette façon, mais la partie avec u => u.les utilisateurs me donne une erreur(je suppose que c'est parce que il n'y a pas d'utilisateurs de la propriété dans le modèle, alors il répondit à sa question, mais n'a pas de mise à jour de sa question?)

Ma question: Quelle est l'exacte couramment le code de l'api de laisser Ef générer ce tableau pour moi?

Choses que je ne suis pas sûr au sujet de: (n'hésitez pas à ignorer)

  • Est-ce la bonne solution de mon problème?
  • Une fois que j'ai la table de recherche, est-ce toujours la bonne façon de déclarer mes de navigation de la propriété, de sorte que je puisse ensuite l'utiliser comme utilisateur.Les rôles et les récupérer leurs rôles?
  • où sera le RoleId dans le modèle de l'Utilisateur d'être renseigné à partir, tableau de Rôles ou User_Role?
  • A avoir un ID dans la table de recherche toute utilisation?

Merci d'avance! J'apprécie vraiment votre expertise.

OriginalL'auteur edgarpetrauskas | 2014-03-14