2012-07-23 69 views
2

我使用entitiy框架,上面写着以下时有错误可以列举: “查询的结果不能枚举不止一次”实体错误:查询的结果不能超过一次

解决方法来自类似的问题在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(),但仍然没有运气。任何想法为什么这可能会发生?

感谢

+0

你是否尝试过在一个地方使用ToList()?在上面的代码中,你在List上调用ToList()。不知道这是你的问题,但这是我第一次尝试。 – 2012-07-23 16:48:34

+0

是的,我也试过,但没有运气。 – goalie35 2012-07-23 17:04:54

+1

您可以发布'GetOrderDetails'的内容吗?也许这种方法是非法存储和重新使用'Queryable' – Yogu 2012-07-23 18:22:32

回答

0

说了这么多,你已经在一个地方尝试“.ToList()”,并AsEnumerable().ToList()

高兴,如果这能帮助!
第1步:

var veryFirst = storedProc.First(); 

第2步:

var returnValues = veryFirst.ReturnCode; 

,并尝试采取这一然后看看是否可行?否则你可以尝试使用IQueryable