2010-10-15 23 views
1

我正在使用EF4。我發現了一個非常惱人的問題。EF4 - 帶靜態數據的Foreach局部變量

我有一個數據庫視圖,我已經拖入我的實體模型類。 當我嘗試迭代孔集合時,顯示的數據與第一個對象幾乎相同...我嘗試啓用延遲加載,但沒有任何工作..這是一個非常簡單的代碼片段。爲什麼不工作???

Dal.Entities context = new Dal.Entities();     
list = context.vw_Full_Poll.ToList(); 

foreach (var item in list) 
       { 
        PrintPoll(htmlWriter, item); 
       } 
+0

我不完全確定我明白問題是什麼。你能更好地重述這個問題嗎? 「幾乎與第一個對象相同」是什麼意思?你說「沒有用」,你是什麼意思?你能解釋一下你期望發生什麼,以及發生了什麼? – 2010-10-15 20:06:10

回答

0

您還沒有defined a PK for the view。由於數據庫視圖沒有PK,因此EF不能自動導出。

+0

「與第一個對象幾乎相同」我的意思是,例如,孔數據包含大約5000行,當我打印這些行時,顯示的數據對於行#1,#2,#3是相同的。 .. – user477379 2010-10-16 19:19:45

+0

當我說,沒有什麼作品,我的意思是通過啓用惰性加載,結果是相同的......打印的數據對應於多行打印的#1-#10行作爲行返回DAO方法。 – user477379 2010-10-16 19:21:11

+0

好的!工作!謝謝!這是一個有點奇怪的原因,使用舊的「ADO斷開連接模式」,foreach funcionality工作得很好......但也有道理,EF可能無法找到哪個記錄不同於沒有PK的另一個記錄。再次感謝 – user477379 2010-10-16 19:31:22