我剛剛開始使用實體框架4.0和ASP.NET MVC 2,並且有幾個關於使用存儲過程和分頁的問題。實體框架4 - 調用選擇/分頁存儲過程
您可以將插入,更新和刪除操作映射到存儲過程,並且我已經完成了此操作。然而,對於我的分頁工作,我需要映射選擇操作。
現在是我可以做到這一點的唯一/最好的方式,通過我的模型瀏覽器,右鍵單擊存儲過程和「添加函數導入」並添加它。
這導致下面的代碼....
var contactFormSubmissions = _entities.ContactFormSubmission_GetContactFormSubmissions(1, 10);
我這個問題是,它增加了全球實體容器在根級別,而不是像插入/更新ContactFormSubmission實體和刪除動作。
我寧願這樣的事情,但通過通過存儲過程...
_entities.ContactFormSubmissions.Select<ContactFormSubmission>(string.Empty, pageParam, pageSizeParam);
這樣的選擇被稱爲以同樣的方式與其他的行動,我不有很多的功能,在結束實體容器的根可能會變得不可管理。
這是一個較小的問題,至少目前它的所有工作。
我的下一個問題是如何最好地實現使用此功能的分頁。
我已經看到關於如何使用MVC和Entity Framework完成分頁的所有示例都使用了LINQ和IQueryable。有沒有辦法使用IQueryable與延遲加載和LINQ函數Skip/Take與基於表的函數/ sproc?
http://blog.wekeroad.com/2007/12/10/aspnet-mvc-pagedlistt/
PS - 使用SP的將是巨大的MVC實體框架的分頁任何的例子!