Удалить записи в Wcf Ria - PullRequest
0 голосов
/ 09 марта 2012

Я использую wcf ria в приложении silverlight. на стороне клиента я использую следующий код для удаления некоторых записей:

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

при запуске этого кода у меня появляется следующая ошибка:

Коллекция была изменена; операция перечисления может не выполняться.

как я могу решить эту проблему? !!

1 Ответ

3 голосов
/ 09 марта 2012

Это происходит потому, что вы удаляете объекты из коллекции, пока перечисляете ее.Я нашел самый простой способ обойти это - добавить .ToArray() или .ToList() в конец вашей строки перечисления.Т.е.

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

Это даст вам перечисление, которое "отделено" от исходной коллекции.

Надеюсь, это поможет.Nate

...