我正在构建使用Code First迁移的MVC 5应用程序,并尝试使用默认管理员用户种子我的数据库。我可能在这里做出了错误的假设,但我认为我需要使用异步方法来添加用户和角色,因为我收到了以前不存在的用户错误。现在,当我在软件包管理器控制台中运行update-database
命令时,它将崩溃Visual Studio 2013。我很茫然。ASP.NET MVC 5应用程序种子方法崩溃Visual Studio 2013添加默认用户和角色
我没有收到崩溃之前的错误,我还没有想出如何调试在PMC中运行的代码。下面是我的种方法的代码:
//Add default users here:
var UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
var RoleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));
var silkster = new NewUser() { UserName = "silkster", Password = "Passw0rd!", Email = "[email protected]", Roles = new List<string>() { "Admin" } };
var defaultUser = await UserManager.FindByNameAsync(silkster.UserName);
var newUserResult = IdentityResult.Success;
if (defaultUser == null)
{
var user = new ApplicationUser() { UserName = silkster.UserName, Email = silkster.Email };
newUserResult = await UserManager.CreateAsync(user, silkster.Password);
}
if (newUserResult == IdentityResult.Success)
{
var results = new List<IdentityResult>();
IdentityResult result;
foreach (string role in silkster.Roles)
{
if (!RoleManager.RoleExists(role))
{
result = await RoleManager.CreateAsync(new IdentityRole(role));
results.Add(result);
}
result = await UserManager.AddToRoleAsync(silkster.UserName, role);
results.Add(result);
}
}
我有一个电子邮件字段延长ApplicationUser和我加了简单对象NewUser包含默认用户的种子数据。 – Silkster