2010-09-06 7 views
0

Je dois joindre les résultats de 2 sprocs dans LINQ mais j'ai reçu le message d'erreur: 'System.Data.DataSet' ne contient pas de définition pour 'Où' et aucune méthode d'extension 'Où' acceptant un premier argument de type 'System.Data.DataSet' peut être trouvé (appuyez sur F4 pour ajouter une directive using ou référence d'assembly)LINQPad ne trouve toujours pas la méthode d'extension 'Où' après avoir ajouté System.Data.DataSetExtensions.dll

Cependant après avoir ajouté les DataSetExtensions apparaît toujours.

code:

var c = GetAllGameCategories (123); 
var d = GetGameCategories(22458); 

Var e = c.Where(....); // Error on this line! 

Toute aide appréciée.

+0

jetez un oeil à ceci http://stackoverflow.com/questions/10855/linq-query-on-a-datatable –

+0

'System.Data.DataSet' ne contient pas de définition pour 'AsEnumerable' et le meilleur La méthode d'extension de surcharge 'System.Data.DataTableExtensions.AsEnumerable (System.Data.DataTable)' a des arguments non valides – Chris

+0

Suis-je supposé trouver le moyen de transtyper ou de convertir le jeu de résultats de la requête sproc en DataTable comme toujours? – Chris

Répondre

0

Un DataSet est une collection d'objets DataTable.
Il ne contient directement aucune donnée.

Vous devez appeler .Where() sur les données Tableau.
EDIT: S'il ne s'agit pas d'un DataTable typé, vous devez d'abord appeler le .AsEnumerable().

+0

Pourquoi cela a-t-il été réduit? – SLaks

+0

parce que c'est incorrect –

+0

@Simon: Comment? – SLaks

Questions connexes