我更新的用戶安全的郵票當用戶被停用。我可以爲一個這樣的用戶做到這一點。如何更新批量用戶的安全印章? 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