删除Wcf Ria中的记录

时间:2012-03-09 13:43:47

标签: silverlight wcf-ria-services enumeration

我在silverlight应用程序中使用wcf ria。在客户端,我使用以下代码删除一些记录:

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

运行此代码时出现以下错误:

  

收藏被修改;枚举操作可能无法执行。

我该如何解决这个问题?!!

1 个答案:

答案 0 :(得分:3)

这种情况正在发生,因为您正在枚举它时从集合中删除对象。我发现解决这个问题的最简单方法是在枚举行的末尾添加.ToArray().ToList()。即

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

这将为您提供与原始集合“分离”的枚举。

希望这会有所帮助。 内特