2010-10-04 3 views

Répondre

0

Vous pouvez les mettre en page avant de les grouper.


il est assez facile à la page ce genre de choses en mémoire:

var page = 
(
    from g in groups 
    from item in g 
    select item 
).Skip(100).Take(20); 

Il ne se traduit pas en sql très bien - ce qui est la raison pour laquelle personne ne répond. Le problème est que lorsque vous demandez les éléments d'un groupe, linq To Sql re-interroge la base de données par la clé de groupe pour obtenir ces éléments. C'est pourquoi il est préférable de commander et de faire des pages sans regroupement.

Vous pouvez obtenir la commande conditionnelle en utilisant l'opérateur ternaire:

var query = 
from c in Customers 
order c by 
    c.Name.StartsWith("B") ? 1 : 
    c.Orders.Any() ? 2 : 
    3, 
    c.Name 
select c; 
+0

La chose est que je dois commander les groupes dans un sens puis commander les documents au sein de chaque groupe par une autre valeur. – Gazeth

Questions connexes