2010-04-07 4 views
0

Comment interroger RowNumber avec Entity Framework? Par exemple:EntityFramework & RowNumber

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

Je veux implémenter la pagination pour ma grille, mais je ne peux pas résoudre le problème à trouver avec l'utilisateur nécessaire.

J'utilise EF4.0. La méthode Select avec l'index (http://msdn.microsoft.com/en-us/vcsharp/aa336758.aspx#SelectIndexed) ne fonctionne pas avec EF.

Peut-il y avoir une autre façon de mettre en œuvre cela?

Répondre

1

Vous pouvez utiliser sauter, prendre, ou un certain nombre d'autres méthodes de recherche de personnes prises en charge pour LINQ to Entities:

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

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

Par exemple:

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

.. .donnerait les dix premières rangées. Je ne sais pas à quel point c'est efficace, mais ces liens peuvent vous aider à trouver la meilleure solution à votre problème individuel.

Questions connexes