繁体   English   中英

LINQ错误:不能多次枚举查询结果

[英]LINQ error : The query results cannot be enumerated more than once


我正在使用LINQ函数,其中在for循环中使用ToList()。 在第一次迭代中,它工作正常,但随后又抛出异常,因为

“查询结果不能被多次枚举。”

示例代码为;

for()
{
     functionCall();
}

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

我进行了大量搜索以解决此问题,但所有人都说使用ToList(); 而且我在ToList()本身上遇到错误。
请帮助我解决此问题。


提前致谢

您不止一次评估查询,为什么不将代码重构为此呢?

// 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
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM