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?