0

我需要通过 Linq2Entities (VB.NET/VS2012) 进行动态选择/分组/排序的最优雅的解决方案。

我正在尝试使用 System.Linq.Dynamic 库(http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-查询库.aspx )

这个结构工作正常

Dim testQuery= testDB.testTable.Select("New(Field1)").GroupBy("New(Field1)", "it")

但是这个(在 blogs/SO 的某个地方找到了这个例子)会产生错误:

Dim testQuery= testDB.testTable.Select("New(Field1, Count())").GroupBy("New(Field1, Count())", "it")

错误是“'testTable' 类型中不存在适用的方法 'Count'”

我知道这个库生来就死了,但是使用表达式树进行动态查询的官方 MS 解决方案有点吓人。:-)

4

1 回答 1

1

如果您的目标是检索 的testTable每个值的行数Field1,那么我会认为您首先要检索GroupBy Field1,然后再检索Select。所以基本上颠倒你的顺序Select并从GroupByGroupBy中删除。Count()

于 2013-08-28T11:23:05.093 回答