De quoi ai-je besoin d'ajouter dans OnModelCreating(DbModelBuilder modelBuilder) fonction pour définir les relations entre la Personne et le Rôle?

Je suis en utilisant EntityFramework version 5.0 en WinForms projet .net 4.5.

J'ai créé 2 pour moi Entités importantes

    public class Role
    {
        [Key]
        [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
        public int Id { get; set; }
        public string Name { get; set; }
        public bool StockPermission { get; set; }
        public bool ItemPermission { get; set; }
        public bool OrderPermission { get; set; }
        public bool PersonPermission { get; set; }
        public bool StatisticPermission { get; set; }
    }

    public class Person
    {
        [Key]
        [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
        public int Id { get; set; }
        public String Name { get; set; }
        public String Nickname { get; set; }
        public String Contact { get; set; }
        public System.DateTime Created { get; set; }
        public String Pincode { get; set; }

        public virtual ICollection<Role> Role { get; set; }
        public virtual Person Creator { get; set; }
    }

et dbContext classe:

    public class SusibarDbContext : DbContext
    {
        public DbSet<Entity.Role> Roles { get; set; }
        public DbSet<Entity.Person> Persons { get; set; }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            //base.OnModelCreating(modelBuilder);
        }
    }

s'il vous plaît, pouvez-vous m'aider à ce que je dois ajouter dans OnModelCreating(DbModelBuilder modelBuilder) fonction pour définir les relations entre la Personne et le Rôle?

Personne peut avoir plusieurs Rôle(s) (mais ne peut pas être null), différentes Personnes peuvent avoir le même Rôle(s).

Personne peut avoir un "créateur" Personne (peut être null), différentes Personnes peuvent avoir le même "créateur"

Si vous pouviez avoir la gentillesse, juste de m'informer de la solution 🙁

Ok, je l'ai résolu! dans quelques minutes je vais ajouter la solution (du déjeuner du premier)

OriginalL'auteur eCorke | 2012-12-07