2013-11-01 31 views
0

參考示例於: http://www.jqwidgets.com/jquery-widgets-documentation/documentation/asp.net-integration/asp.net-grid-server-side-paging-sorting-filtering-mvc3.htmjqwidgets網格實體框架LINQ尋呼

我想知道是否有一個不同的,更通用的方法,拉出從實體框架的數據排序的,分頁,篩選insted的的實例化一個特定的模型類。沒有這個:

var query = Request.QueryString; 
var dbResult = db.Database.SqlQuery<Order>(this.BuildQuery(query)); 
var orders = from order in dbResult 
       select new Order 
       { 
        ShippedDate = order.ShippedDate, 
        ShipName = order.ShipName, 
        ShipAddress = order.ShipAddress, 
        ShipCity = order.ShipCity, 
        ShipCountry = order.ShipCountry 
       }; 

但是,無論什麼模型是相同的東西。

我曾嘗試用:

var orders = db.Orders.AsEnumerable(); 

但隨後EF抱怨已經被加載的實體。 我需要的東西,會改變只是SqlQuery所有模型相同,我想建立一個索引視圖的T4腳手架。

謝謝

回答

0

我不知道很多關於jqwidgets但它需要一些數據來配置尋呼和從服務器端排序。這意味着您需要發送一些代表分頁排序數據的序列化類。

最簡單的它可能看起來像

public class Pager<T> 
{ 
    public int TotalRows { get; set; } 
    public List<T> Rows { get; set; } 
    public int PageSize { get; set; } 
} 

的通用解決方案來查詢,您可以創建數據層像 的情況下,在這個崗位

http://www.asp.net/mvc/tutorials/getting-started-with-ef-5-using-mvc-4/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application

提到