![](/img/trans.png)
[英]Entity framework InvalidOperationException when deleting and adding related objects
[英]InvalidOperationException with delete related objects
我試圖刪除屬於一個“用戶”的所有“用戶組”,然后添加新的“用戶組”。
public void SaveUserUsergroups(int userID, int[] UsergroupID)
{
User uo = _entities.Users.Where(x => x.UserID == userID).First();
uo.Usergroups.Load();
foreach(Usergroup ug in uo.Usergroups)
{
uo.Usergroups.Remove(ug);
}
int _currentUsergroupID;
for (int i = 0; i < UsergroupID.Count(); i++)
{
_currentUsergroupID = UsergroupID[i];
uo.Usergroups.Add(_entities.Usergroups.Where(ug => ug.UsergroupID == _currentUsergroupID).First());
}
_entities.SaveChanges();
}
如果此處有多個用戶組,則會引發異常:
foreach(Usergroup ug in uo.Usergroups)
{
uo.Usergroups.Remove(ug);
}
我該如何解決?
/ M
您無法在迭代集合的同時修改它。 您可以建立要刪除的項目的集合,並在foreach循環后將其從關系中刪除,也可以使用如下計數器向后遍歷該集合:
for (int i = uo.Usergroups.Count - 1; i >= 0; i--)
{
uo.Usergroups.Remove(uo.Usergroups.ElementAt(i));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.