我有我的LINQ從數據庫中獲取到SQL控制器類的層次結構,並顯示該大類爲needed.Let我解釋一下:IEnumerable的<T>莫名其妙地被轉化爲EntitySet的<T>
BigProduct
IEnumerable<Review>
//...some generic types
Review
IEnumerable<Comment>
//...some generic types
Comment
//...some generic types
所以在我的控制器我獲取大產品並將其傳遞給主視圖,然後將foreviews中的評論傳遞給部分視圖,並在這些部分視圖中的每個視圖中,我有另一個應該將所有註釋列爲部分視圖的foreach。
這些類型被定義爲Ienumerable類,並且這個DLL可以很好地處理Web表單,現在當我將鼠標懸停在剃刀的foreach循環中時,它說它是EntitySet而不是IEnumerable,並且我得到「null exception:acessed處理後的上下文「,這就是我將它作爲IEnumerable傳遞的原因,因爲我在一個地方獲取所有內容。什麼可能是這種行爲的原因?我沒有改變這個以前用webforms正常工作的dll。
更新:正如我所說的,它在WebForms中運行良好,我打電話給.ToList()
以在選擇數據時從IQueryable中獲取IEnumerable!
當這一切,喬恩,你真的把我趕走了!這不像你需要更多的代表,但你一直拋出這些快速,正確,易於理解的答案!這讓我別無選擇,只能爲您的答案投票。啊! – 2012-03-28 17:49:03
@DanielPratt:是否讓你感覺更好,知道早餐後的積分不會影響我的代表? – 2012-03-28 17:51:34
有點。謝謝。 – 2012-03-28 17:56:12