2009-11-16 6 views
3

J'ai un DataView dans lequel je voudrais résumer une colonne appelée « Montant »colonne de somme avec LINQ to SQL

Maintenant, je sais que je peux itérer à travers les colonnes et obtenir la somme, mais je me demandais s'il est possible en utilisant Linq à Sql?

chaîne somme = Linq à des choses Sql ici (ne doit pas être une chaîne, peut être tout type)

Merci, rodchar

Répondre

12

Si l'on suppose la colonne Montant est un double (pourrait être un autre Type)

double sum = Table.Select(t => t.Amount ?? 0).Sum(); 

Ou

double sum = Table.Sum(t => t.Amount ?? 0).Sum(); 

aide l'opérateur null coelescing vous donnera un défaut de 0 si t.Amount est nul.

+0

Voici ce que je devais faire pour que cela fonctionne: MyDataView.Table.Select(). Sélectionnez ((t => Convert.ToDouble (t ["montant"]))). Sum(). ToString ("c"); Que faire si le montant est nul? Serait-ce une préoccupation? – Rod

+0

J'ai mis à jour ma réponse pour adresser des valeurs nulles. –

+0

Merci à tous pour votre aide – Rod

-1

Excusez-moi pour la syntaxe d'appel datacontext ...

var sum = dataContext.Sum(x => x.Amount); 

Si vous voulez résumer les chaînes, vous pouvez utiliser

var sum = string.Join(", ", dataContext.Select(x => x.StringColumn).ToArray()); 

espère que cela fonctionne.