我有一個(gè)按鈕,表中包含用戶列表ButtonUsers。Button使用用戶列表更新父級(jí),并且UserList應(yīng)更新所有其他按鈕。并非每次都是如此,因此每個(gè)按鈕都有自己的列表。問題是我可能有 5000 個(gè)按鈕,每個(gè)按鈕都應(yīng)該更新。我嘗試一次拉動(dòng)所有按鈕,然后拉動(dòng)必要的用戶,并將每個(gè)按鈕狀態(tài)設(shè)置為已修改。當(dāng)我迭代完所有按鈕后,調(diào)用SaveChanges().public bool UpdatePreviousButtons(Button button, List<string> userList){ var buttons = fieldRepo.GetFieldsCreatedFrom<Button>(button.ID); var users = fieldRepo.GetUsersFromIDs(userList); foreach(var btn in buttons) { btn.UserList = users; fieldRepo.UpdateFieldGeneric<Button>(btn); } return fieldRepo.Commit();}問題似乎是它不會(huì)批量插入記錄,而是每次調(diào)用插入一條記錄。這不可避免地會(huì)導(dǎo)致超時(shí),并且需要很長(zhǎng)時(shí)間。我一直在考慮用 手動(dòng)完成Context.Database.ExecuteSqlCommand()。使用實(shí)體框架有更好的方法嗎?
插入批量記錄。也許使用 SQL
三國(guó)紛爭(zhēng)
2023-09-24 17:19:05