Vb.net System.Linq.Dynamic库-需要计数()示例

Vb.net System.Linq.Dynamic库-需要计数()示例,vb.net,dynamic,count,linq-to-entities,Vb.net,Dynamic,Count,Linq To Entities,我需要通过Linq2Entities(VB.NET/VS2012)动态选择/分组/排序的最优雅的解决方案 我正在尝试使用System.Linq.Dynamic库() 这种结构很好用 Dim testQuery= testDB.testTable.Select("New(Field1)").GroupBy("New(Field1)", "it") 但是这个(在博客上的某个地方找到了这个例子)会产生错误: Dim testQuery= testDB.testTable.Select("New(Fi

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

我正在尝试使用System.Linq.Dynamic库()

这种结构很好用

Dim testQuery= testDB.testTable.Select("New(Field1)").GroupBy("New(Field1)", "it")
但是这个(在博客上的某个地方找到了这个例子)会产生错误:

Dim testQuery= testDB.testTable.Select("New(Field1, Count())").GroupBy("New(Field1, Count())", "it")
错误为“类型“testTable”中不存在适用的方法“Count”


我知道这个库生来就死了,但是官方的MS解决方案对于带有表达式树的动态查询有点可怕。:-)

如果您的目标是为
Field1
的每个值检索
testTable
中的行数,那么我认为您应该首先
GroupBy
Field1
,然后
选择
。因此,基本上颠倒了
选择
分组比的顺序,并从分组比中删除
Count()

我尝试了这种构造:Dim testQuery=testDB.testTable.GroupBy(“New(Field1)”,“it”)。选择(“New(Field1,Count()”),然后得到另一个错误:“IGrouping`2'类型中不存在属性或字段'Field1'啊,是的,在分组中它可能被称为“Key”或“Key.Field1”。当你分组时,你会得到一个属性为“Key”的对象列表,其中包含你分组所依据的字段,并且还可以枚举它们自己以获取该特定组中的记录。太棒了!这个:
Dim testQuery=testDB.testTable.GroupBy(“新建(字段1)”,“它”)。选择(“新建(关键字字段1,计数()为总计)”)
工作正常!(顺便说一句,“总量”也很重要。)太感谢你了!