2
從EntitySet的卸下實體我有了這個代碼...看上去不錯,優雅,但顯然在通過它迭代框架不喜歡它,當我惹的集合:期間迭代
foreach (KitGroup kg in ProductToTransfer.KitGroups)
{
// Remove kit groups that have been excluded by the user
if (inKitGroupExclusions != null && inKitGroupExclusions.Contains(kg.KitGroupID))
ProductToTransfer.KitGroups.Remove(kg);
else
{
// Loop through the kit items and do other stuff
//...
}
}
當它遍歷集合中的第二個對象,它拋出的錯誤是:
我知道我可以創建KitGroup對象的一個新的集合(甚至只是標識)「EntitySet的枚舉過程中被修改」,我想刪除,然後再循環以循環這些,並將它們從集合中刪除,但這看起來像不必要的e xtra代碼......任何人都可以提出實現同樣目標的更優雅的方式嗎?
哇真棒......我需要做的就是將它轉換爲列表。所以它只是因爲它是一個EntitySet,我無法刪除枚舉中的集合項......這是爲什麼? 感謝堆,我知道這將是一個簡單的解決方案這個問題:) – Jeeby 2010-06-02 06:08:08
@Gregorius這不是事實,它是一個'EntitySet',這是事實,你是從你正在枚舉的對象中刪除。當你從原始的EntitySet中刪除時,調用'ToList'實例化一個新的'List'對象來枚舉。您將不得不使用相同的過程從「List」或任何其他集合中刪除項目。 – Jake 2010-06-02 06:10:43
ahhh ...這很有道理。謝謝傑克,非常感謝 – Jeeby 2010-06-02 07:31:03