2012-07-23 66 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