我有一个MVC5,它为用户使用ASP.NET Identity。我有一个名为Business的类,它继承自ApplicationUser
,然后我用CSV文件中的条目填充数据库,但是在数据库中他们没有SecurityStamp,我似乎无法登录。我在Configuration.cs文件中尝试过类似的东西,但它似乎不起作用:
var userManager = new UserManager<Business>(new UserStore<Business>(context));
foreach (Business b in context.Businesses)
{
userManager.UpdateSecurityStampAsync(b.Id);
}
context.SaveChanges();
请注意,最初他们的SecurityStamp在数据库中为空。任何想法,如何从Configuration.cs添加安全标记?
答案 0 :(得分:3)
您应该始终使用非等待的方法的非异步版本。
userManager.UpdateSecurityStamp(b.Id);
将context.Businesses
更改为context.Businesses.ToList()
您获得的错误There is already an open DataReader associated with this Connection which must be closed first.
可能是因为您正在迭代从数据库中流式传输对象的集合,同时尝试通过UpdateSecurityStamp