首页 新闻 会员 周边 捐助

Lambda 或 Linq 使用Group By分组查询,生成的Sql语句不是Group by 的问题

0
悬赏园豆:30 [已解决问题] 解决于 2019-08-28 00:20


EF的版本是 EFCore 2.1.1
第一张图片生成的时OrderBy,这样就全部查询了,没有做Group By分页查询。
第二张图片没有涉及到表达式的情况下,可以正常输出Group By语句,正常分页。
正常来说应该会生成Sql子语句嵌套,而不是全表查出来,再内存中去筛选,有无哪位大神可以帮忙瞧瞧?纠结好久了,没有解决。

码农改变世界lyf的主页 码农改变世界lyf | 初学一级 | 园豆:46
提问于:2019-01-06 14:57

用的是 EF 还是 EF Core ?

dudu 5年前

@dudu: 用的是EF Core

码农改变世界lyf 5年前
< >
分享
最佳答案
0

如果自己写 SQL 语句,你会怎么 COUNT ?

收获园豆:30
dudu | 高人七级 |园豆:29570 | 2019-01-06 18:57

应该是先where筛选了,再count,但是下面那些注释的先where再count也一样有这个问题。

码农改变世界lyf | 园豆:46 (初学一级) | 2019-01-06 19:20

我觉得按照上面Linq表达式正常来说应该生成的sql语句是嵌套的子语句。

码农改变世界lyf | 园豆:46 (初学一级) | 2019-01-06 19:32

@码农改变世界lyf: GroupBy
时怎么没包含 Status ?

dudu | 园豆:29570 (高人七级) | 2019-01-06 20:11

@dudu:

Group By加上了Status依旧生成的Sql语句依旧不是Group By。

码农改变世界lyf | 园豆:46 (初学一级) | 2019-01-06 20:22
dudu | 园豆:29570 (高人七级) | 2019-01-06 20:36

@dudu:

按照您给的链接里面的方法,似乎还是不能解决这个问题。

码农改变世界lyf | 园豆:46 (初学一级) | 2019-01-06 20:56

@码农改变世界lyf: 我这里没有场景可以方便地重现这个问题,所以不能确定是否有解决方法,但我估计这是目前 EF Core 的一个不足之处,唯有等 EF Core 3.0 ,EF Core 3.0 在这方面会有很大的改进

dudu | 园豆:29570 (高人七级) | 2019-01-06 21:12

@dudu: 好吧,感谢你了,看来只能用原生的Sql去写这个了。

码农改变世界lyf | 园豆:46 (初学一级) | 2019-01-06 21:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册