2010-10-22 16 views
1

Cela ne fonctionne pas:LINQ to SQL - Grouper par table

Dim Qry = From RE In DB.Res_Estab Where _ 
(RE.Estab_Code = Estab_Code) Group By RE.Research Into Group Select Research 

Parce que la recherche est une table, pas une valeur. Il rend l'erreur "Un groupe par expression ne peut contenir que des scalaires non-constants qui sont comparables par le serveur."

Je vais partager en deux requêtes:

Dim Qry = From RE In DB.Res_Estab Where _ 
(RE.Estab_Code = Estab_Code) Group By RE.Res_Code Into Group Select Res_Code 

Dim Qry2 = From R In DB.Research Where Qry.Contains(R.Res_Code) Order By R.Descr 

Ce qui fonctionne, mais il semble redondant. Existe-t-il un moyen de le faire dans une seule requête?

Répondre

1

Vous pourriez trouver la réponse here -

From RE In DB.Res_Estab _ 
Group By RE.Research 
Into Group 
Where RE.Estab_Code = Estab_Code 
Select Research 
+0

ne fonctionne pas. RE n'est pas accessible après le groupe, sinon il afficherait la même erreur "Une expression group by ne peut contenir que des scalaires non-constants qui sont comparables par le serveur." – ariel

+0

Je n'ai vraiment pas de vb pour tester la syntaxe ... mais si vous vérifiez le lien que j'ai fourni, vous devriez être capable d'écrire un seul groupe par requête ... et appelez-le autre que INTO 'Group' dire comme INTO Total – Vishal