可能是重复问题:
查询结果不能被多次枚举?
我正在使用实体框架(Entity Framework)通过存储过程从我的数据库中选择和返回一组实体。
var results = dataContext.loadData(testargument);
我希望能够计算返回的数据集(以确保只返回一个记录),然后取出列表中的第一个项目。
if(results.Count() == 1)
{
ReturnedEntity entity = results.First();
}
然而,当我进行这个调用时,我会得到错误信息“查询结果不能被枚举多次”。有谁知道我如何正确地做这件事吗?我猜想调用Count()方法会改变数据,并且不确定是否需要在调用First()方法之前将其放回列表中。我已经尝试过results.ToList().First(),但是仍然得到相同的错误。
此外,我注意到如果对一个空集合调用First()方法,我会得到一个错误,这就是为什么我要确保只返回1条记录的原因。