2010-10-22 76 views
1

这不起作用:LINQ到SQL - 按表分组

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

由于研究是一个表,而不是价值。它呈现错误“按表达式分组只能包含服务器可以比较的非常量标量。”

所以我在拆分两个查询:

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 

这工作,但似乎是多余的。有没有在单个查询中做到这一点的方法?

回答

1

你可能会找到答案here -

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

不工作。 RE在Group之后是不可访问的,否则它会产生相同的错误“按表达式分组只能包含服务器可以比较的非常量标量。” – ariel 2010-10-22 19:19:16

+0

我真的没有vb来测试语法..但是如果你查看我提供的链接,你应该可以通过查询写出一个单独的组......并且把它称为INTO'Group'之外的其他东西,比如INTO 'Total' – Vishal 2010-10-22 19:23:56