J'essaye d'utiliser skip et de prendre IGrouping mais je ne veux pas faire de page sur la clé groupée Je veux le faire sur les éléments qui ont été groupé.Comment faites-vous la page IGrouper sur les éléments groupés plutôt que le groupe
0
A
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;
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