2012-03-09 51 views
0

我在silverlight應用程序中使用wcf ria。在客戶端,我用下面的代碼刪除一些記錄:刪除Wcf Ria中的記錄

var installments = context.Installments.Where(i => i.RequestId == selectedRequest.RequestId); 
    foreach (var installment in installments) 
    { 
     context.Installments.Remove(installment); 
    } 
    context.SubmitChanges(); 

當運行此代碼我有以下錯誤:

Collection was modified; enumeration operation may not execute.

如何解決這個問題!?

回答

3

發生這種情況是因爲您在枚舉集合時從對象中刪除對象。我發現解決該問題的最簡單方法是將.ToArray().ToList()添加到枚舉行的末尾。即

var installments = context.Installments.Where(i => i.RequestId == selectedRequest.RequestId).ToArray(); 

這將給你一個從原始集合中「分離」的枚舉。

希望這會有所幫助。 Nate