Je commence par linqToSql et j'ai encore quelques problèmes pour faire mes requêtes. Par exemple, je souhaite récupérer dans la même requête deux valeurs, un sous-ensemble d'éléments et un nombre entier avec le nombre d'éléments. Voilà comment je l'ai fait séparément:Récupérer deux valeurs dans la même requête linq
int totalElements;
IEnumerable<ClsTax> result;
result = (from t in db.tax
select new ClsTax { Tax = t.tax1, Increase = t.increase }).Take(25);
totalElements = (from t in db.tax
select new ClsTax { Tax = t.tax1, Increase = t.increase }).Count();
Comme vous pouvez le voir, je ne peux pas utiliser result.count() parce que je Take (25) pour obtenir que les 25 éléments firsts, et je veux savoir combien d'éléments sont dans la base de données.
Existe-t-il un moyen d'obtenir les deux valeurs en utilisant une seule requête linq?
Merci!
Oui, un peu plus simple, mais je veux minimiser les appels de base de données et le trafic. 'Tous' peut contenir plusieurs enregistrements. – Jonathan
Tous ne contiendront pas beaucoup d'enregistrements. C'est à cause de l'exécution différée. Téléchargez LinqPad, essayez d'exécuter cette requête et regardez le code SQL. Deux requêtes seront générées - la première sera une requête SELECT COUNT et la seconde une requête SELECT TOP 25. –
@joe: alors ... c'est une solution simple et élégante à la fois. Je vais l'accepter. Thaks à vous et à CodeMonkey. Je vais prendre votre avance et télécharger LinqPad. – Jonathan