2016-05-06 2 views
0

Ich versuche meine Anwendung anzupassen. Aber ich habe einige Probleme, wenn ich versuche, die Folge Rolle zu erstellen:Fehler mit meinem RoleManager im Kontext

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

Fehler:

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

, dass mein appcontext ist:

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

Was für ein falsch gemacht habe?

Antwort

0

Heute hatte ich das gleiche Problem aber mit .edmx Modell. Ich sollte das Modell aktualisieren und einige Male das Projekt neu aufbauen, magisch es beginnt.

Verwandte Themen