2010-04-07 59 views
0

如何使用實體框架查詢RowNumber? 例如:EntityFramework&RowNumber

 var result = data.Users 
      .OrderByDescending("Birthday") 
      .ThenBy("LastName") 
      .ThenBy("FirstName") 
      .Select(u => 
         { 
          RowNumber = ???, 
          u.FirstName, 
          u.LastName 
         }); 

我想實現分頁爲我的網格,但我不能與需要的用戶發現頁面解決問題。

我正在使用EF4.0。帶索引的選擇方法(http://msdn.microsoft.com/en-us/vcsharp/aa336758.aspx#SelectIndexed)不適用於EF。

可能有另一種方法來實現這一點?

回答

1

你可以使用跳躍,走,或許多支持LINQ到實體其他分頁方法:

http://msdn.microsoft.com/en-us/library/bb738474.aspx

http://msdn.microsoft.com/en-us/library/bb738702.aspx

例如:

var result = data.Users 
      .OrderByDescending("Birthday") 
      .ThenBy("LastName") 
      .ThenBy("FirstName") 
      .Select(u => 
         { 
          u.FirstName, 
          u.LastName 
         }).Take(10); 

.. 。會給你前十行。不確定它的效率如何,但這些鏈接可能有助於找到針對您個人問題的最佳解決方案。