我有一個使用EF4的ASP.NET Web應用程序。我有一個EntityDataSource頁面,可以從SQL Server視圖中過濾記錄。有一個GridView綁定到我的EntityDataSource來顯示視圖記錄。EntityDataSource重複第一條記錄而不是返回不同的記錄?
我在很多頁面上都使用了這種方法,其中與EntityDataSource關聯的EntitySet鏈接到SQL服務器表。我現在第一次嘗試使用綁定到SQL 視圖的EntitySet。
根據where子句參數,EntityDataSource返回正確的行數。
但是,從EntityDataSource返回的每一行都是完全一樣的。
我已經調試了GridView的RowDataBound事件,並確認綁定的每一行每次都有完全相同的內容。
有趣的是,當你來回翻頁時,重複的記錄會改變。我猜不管怎麼說,任何給定頁面中的第一個(或最後一個?)記錄都是重複的記錄。
這感覺就像EF或EntityDataSource中的錯誤。有沒有人看到過這種行爲,或者你有任何關於如何排除故障的建議?
哇。事實證明,我的觀點 - 這是專爲報告而設計 - 沒有一個簡潔的唯一鍵定義。每一行都是獨一無二的,但您需要查看整行以確保這一點。 edmx畫布圍繞應該是獨一無二的東西做了一些「簡化假設」。有意義的是,ORM需要對這類事情挑剔。如果能夠足夠聰明地看到視圖不可更新,然後對構成新實體的構成做出更明智的假設,那將是非常好的。非常感謝這個解決方案! – 2011-12-15 20:19:42