2010-04-07 5 views
0

Как я могу запросить RowNumber с Entity Framework? Например: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 к Entities:

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); 

.. . Дайте вам первые десять строк. Не уверен, насколько это эффективно, но эти ссылки могут помочь найти наилучшее решение вашей индивидуальной проблемы.