2016-05-06 9 views
0

私は自分のアプリケーションをカスタマイズしようとしています。私は次の役割を作成しようとすると、しかし、私はいくつかの問題を持っている:コンテキスト内のRoleManagerでエラーが発生しました

private void createRolesandUsers() 
{ 
    ApplicationDbContext context = new ApplicationDbContext(); 

    var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context)); 
    var UserManager = new KnockdocUserManager(new UserStore<Usuario, Papel, int, Login, UsuarioPapel, Claim>(context)); 

    if (!roleManager.RoleExists("Admin")) 
    { 
     //create Admin Role First 
     var role = new IdentityRole(); 
     role.Name = "Admin"; 
     roleManager.Create(role); 

エラー:

The entity type IdentityRole is not part of the model for the current context.

私のAppContextを即ち:

public class ApplicationDbContext: IdentityDbContext<Usuario, Papel, int, Login, UsuarioPapel, Claim> 
{ 
    public ApplicationDbContext() 
     : base("BD_KnockdocContext") 
    { 
    } 

    public static ApplicationDbContext Create() 
    { 
     return new ApplicationDbContext(); 
    } 

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

     // Map Entities to their tables. 
     modelBuilder.Entity<Usuario>().ToTable("Usuario"); 
     modelBuilder.Entity<Papel>().ToTable("Papel"); 
     modelBuilder.Entity<Claim>().ToTable("Claim"); 
     modelBuilder.Entity<Login>().ToTable("Login"); 
     modelBuilder.Entity<UsuarioPapel>().ToTable("UsuarioPapel"); 

     // Set AutoIncrement-Properties 
     modelBuilder.Entity<Usuario>().Property(r => r.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity); 
     modelBuilder.Entity<Claim>().Property(r => r.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity); 
     modelBuilder.Entity<Papel>().Property(r => r.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity); 

     // Override some column mappings that do not match our default 
     modelBuilder.Entity<Usuario>().Property(r => r.UserName).HasColumnName("Login"); 
     modelBuilder.Entity<Usuario>().Property(r => r.PasswordHash).HasColumnName("Password"); 
    } 
} 

間違っていた何A?

答えて

0

今日私は.edmxモデルで同じ問題を抱えていました。私はモデルを更新し、プロジェクトを数回再構築する必要があります。

関連する問題