我正在研究一个LINQ函数,我在for循环中使用ToList()。在第一次迭代它工作正常但后来它抛出异常
“查询结果不能多次枚举。”
示例代码是;
for()
{
functionCall();
}
functionCall()
{
var query = <<query logic>>;
query.ToList();
}
我搜索了很多来解决这个问题,但每个人都在说使用ToList();
我在ToList()本身上遇到错误。
请帮我解决这个问题。
提前致谢
答案 0 :(得分:1)
您正在多次评估查询,为什么不重构您的代码..?
// 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
}