【发布时间】:2012-07-21 22:31:44
【问题描述】:
我在使用显示以下内容的实体框架时遇到错误: "一个查询的结果不能被枚举多次"
stackoverflow 上类似问题的解决方案,提到在我的查询中添加“.ToList()”,但这也无济于事。这是我的代码:
List<Kit> kits = new List<Kit>();
var storedProc = db.GetOrderDetails(orderNumber).ToList();
foreach (var proc in storedProc.ToList())
{
[...content here]
}
我的代码第一次成功查询。没有问题。当我使用新的“orderNumber”重新单击提交按钮时,它会引发此错误。
我也尝试过其他解决方案,例如 .AsEnumerable().ToList(),但仍然没有运气。知道为什么会发生这种情况吗?
谢谢
【问题讨论】:
-
你试过只在一个地方使用 ToList() 吗?在上面的代码中,您在 List 上调用 ToList()。不知道这是否是您的问题,但这是我尝试的第一件事。
-
是的,我也试过了,但没有成功。
-
能把
GetOrderDetails的内容发一下吗?也许该方法非法存储和重复使用Queryable -
异常是在
GetOrderedDetails行还是storedProc.ToList()行上抛出?
标签: asp.net-mvc entity-framework c#-4.0