9
votes

Où dans la requête avec tableau à Linq

j'ai un tableau numéro = {2,3,4,5,6}

Je dois maintenant sélectionner des lignes de la table "dtlrecord" où ce numéro est une colonne. P>

select sum(count) from dtlRecord where number in (2,3,4,5,6) group by number


1 commentaires

Cela couvrira en partie la partie: Stackoverflow.com/questions/857973


3 Réponses :


1
votes

4 commentaires

Ma colonne Numéro est DataType GUID et lorsque j'exécute une requête dans Linqpad, elle ne peut pas formater le nœud "Nouveau" pour l'exécution comme SQL


Si votre colonne est GUID, pourquoi votre exemple indique-t-il des chiffres INT?


Je voulais juste donner un exemple simple


Découvrez l'exemple de Jason et remplacez un tableau GUID pour la matrice numérique.



3
votes

Utilisez énumérable.Contains code> :

int[] numbers = new[] { 2, 3, 4, 5, 6 };
var query = from r in dtlRecords
            where numbers.Contains(r.Number)
            group r by r.Number into g
            select new {
                Number = g.Key,
                Sum = g.Sum(r => r.Count)
            };

foreach(var result in query) {
    Console.WriteLine("Number = {0}, Sum = {1}", result.Number, result.Sum);
}


1 commentaires

+1 parce que ma réponse semblait confondre l'OP. Peut-être qu'il aura plus de chance avec votre exemple.



2
votes

Que diriez-vous d'utiliser simplement une jointure intérieure: xxx

ou xxx


0 commentaires