Ошибка LINQ: результаты запроса не могут быть перечислены более одного раза - PullRequest
1 голос
/ 18 ноября 2011


Я работаю над функцией LINQ, в которой я использую ToList () внутри цикла for.На 1-й итерации он работает нормально, но затем выдает исключение как

"Результаты запроса не могут быть перечислены более одного раза."

Пример кода:;

for()
{
     functionCall();
}

functionCall()
{
   var query = <<query logic>>;
   query.ToList();
}

Я много искал, чтобы это исправить, но все говорят, что использовать ToList ();И я получаю ошибку на самом ToList ().
Пожалуйста, помогите мне решить эту проблему.


Заранее спасибо

1 Ответ

1 голос
/ 18 ноября 2011

Вы оцениваете запрос более одного раза, почему бы не реорганизовать свой код в этом? ..

// Evaluate the query once
var query = <<query logic>>.ToList();

// Do your loop, passing the evaluated results into the function
for()
{
    functionCall(query);
}

functionCall(query)
{
   //Do whatever you need here
}
...