2013-11-02 5 views
4

Я пытаюсь настроить некоторые данные семени для своего веб-приложения MVC 5, но, похоже, для IdentityUser он не создается. Когда я проверяю папку App_Data пусто (Показать все файлы включена)Семестр базы данных ASP.NET Identity

Вот мой WebAppDatabaseInitializer.cs

public class WebAppDatabaseInitializer : DropCreateDatabaseIfModelChanges<WebAppDbContext> 
{ 
    protected override void Seed(WebAppDbContext context) 
    { 
     var UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context)); 
     var RoleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context)); 

     string name = "Admin"; 
     string password = "123456"; 
     string test = "test"; 

     //Create Role Test and User Test 
     RoleManager.Create(new IdentityRole(test)); 
     UserManager.Create(new ApplicationUser() { UserName = test }); 

     //Create Role Admin if it does not exist 
     if (!RoleManager.RoleExists(name)) 
     { 
      var roleresult = RoleManager.Create(new IdentityRole(name)); 
     } 

     //Create User=Admin with password=123456 
     var user = new ApplicationUser(); 
     user.UserName = name; 
     var adminresult = UserManager.Create(user, password); 

     //Add User Admin to Role Admin 
     if (adminresult.Succeeded) 
     { 
      var result = UserManager.AddToRole(user.Id, name); 
     } 
     base.Seed(context); 
    } 
} 

и моего Global.asax.cs

public class MvcApplication : System.Web.HttpApplication 
{ 
    protected void Application_Start() 
    { 
     AreaRegistration.RegisterAllAreas(); 
     GlobalConfiguration.Configure(WebApiConfig.Register); 
     FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 
     RouteConfig.RegisterRoutes(RouteTable.Routes); 
     BundleConfig.RegisterBundles(BundleTable.Bundles); 
     Database.SetInitializer(new WebAppDatabaseInitializer()); 
    } 
} 

любых идей, что могут не так ли?

+1

Что-то не так? Можете ли вы войти в систему как администратор? Является ли Seed() ударом в отладчике? –

+0

При попытке войти в систему с этой учетной записью я получаю сообщение об ошибке: Не удается прикреплять файл 'D: \ Libraries \ Documents \ Visual Studio 2013 \ Repo \ WebApp \ WebApp \ WebApp.Web \ App_Data \ aspnet-WebApp-20131019024822.mdf 'as database' aspnet-WebApp-20131019024822 '. – teh0wner

+0

Вот стоп-трасса: http://pastebin.com/TDW3MZWw – teh0wner

ответ

3

Проблема заключалась в том, что инициализированный DbContext был другим, чем тот, который я использовал в ApplicationUser, поэтому он не работал.

+2

Не могли бы вы рассказать об этом? У меня такая же проблема. У меня есть оба метода Migrations и DbContext Seed, но ни один из них не запускается. –

Смежные вопросы