我更新的用户安全的邮票当用户被停用。我可以为一个这样的用户做到这一点。如何更新批量用户的安全印章? Asp.net身份
await UserManager.UpdateSecurityStampAsync(userId);
我想要做这种形式的多个用户,像500或100蜜蜂是 有什么办法可以批量做到这一点?
我使用实体框架。
我更新的用户安全的邮票当用户被停用。我可以为一个这样的用户做到这一点。如何更新批量用户的安全印章? Asp.net身份
await UserManager.UpdateSecurityStampAsync(userId);
我想要做这种形式的多个用户,像500或100蜜蜂是 有什么办法可以批量做到这一点?
我使用实体框架。
安全邮票是一个随机字符串与实际值的无显著重要性,所以你可以只是把这些东西新GUID那里。
做批量将执行SQL查询最好的办法:
update ApplicationUsers set SecurityStamp = NEWID()
根据需要限制你需要更新的用户可以指定where
条款,最有可能你需要改变表的名称与您在数据库中实际拥有的名称相同。
有不同的方式来执行这个查询 - 你可以用EF做到这一点:
context.Database.ExecuteSqlCommand("UPDATE ApplicationUsers........");
或者你可以看看已经建议EF.Extended库 - 批量更新可以在不浸入SQL。
您可以使用实体框架扩展库。其中是做update.Extended库批量更新的最快方法无需检索和修改it.So之前加载的实体是非常fast.Try这一点。从他们的文档
例子:
//update all tasks with status of 1 to status of 2
context.Tasks
.Where(t => t.StatusId == 1)
.Update(t => new Task { StatusId = 2 });
你可以阅读更多关于它在这里:Entity Framework Extended Library
其实我有调用这个函数为每个用户,你能告诉我怎么能做到这一点。 UserManager.UpdateSecurityStampAsync(用户ID) – mfahadi
EF是不是很好的批量更新。执行SQL查询可以吗? – trailmax
是的,但不知道我怎么会与SQL每个用户调用UpdateSecurityStampAsync(ID)。 – mfahadi