关于表关联、分组、分页的问题 返回

Sugar表与Color表关系:一对多。
Sugar表:
id | name | brand | date |
1 | 白砂糖 | 品牌A | 2017 |
2 | 小冰糖 | 品牌B | 2017 |
3 | 大冰糖 | 品牌C | 2017 |
Color表:
id | sid | color | type |
1 | 1 | 白色 | Good |
2 | 1 | 黄色 | Good |
3 | 2 | 白色 | Bad |
我要分页查询,在Color表有值且Type=Good的Sugar记录到一个新实体Sugar2,无重复内容。
代码1:
db.Queryable<Sugar>()
.JoinTable<Color>((a, b) => a.id == b.sid, JoinType.Right)
.Where<Color>((a,b) => b.type.Equals("Good"))
.GroupBy(a => a.id)
.GroupBy(a => a.name)
.GroupBy(a => a.brand)
.Select(a => new Sugar2()
{
name = a.name,
brand = a.brand,
date = a.date
}
.ToPageList(pageIndex, pageSize, ref pageCount);
提示:id、name、brand不明确,GroupBy<Sugar>()也一样。
代码2:
db.Queryable<Sugar>()
.JoinTable<Color>((a, b) => a.id == b.sid, JoinType.Right)
.Where<Color>((a,b) => b.type.Equals("Good"))
.GroupBy("a.id,a.name,a.brand")
.Select(a => new Sugar2()
{
name = a.name,
brand = a.brand,
date = a.date
}
.ToPageList(pageIndex, pageSize, ref pageCount);
提示:获取成功,内容按Size正常返回的,数据库内有几十条数据,但是pageCount等于永远=1。
代码3:
db.Queryable<Sugar>()
.JoinTable<Color>((a, b) => a.id == b.sid, JoinType.Right)
.Where<Color>((a,b) => b.type.Equals("Good"))
.GroupBy("a.id,a.name,a.brand")
.Count();
提示:获取成功,内容按Size正常返回的,数据库内有几十条数据,但是Count等于永远=1。
我获取了Sql,没有问题啊,能查到全部数据,显示影响行数也对的,但是只要用了这个GroupBy("字符串"),查出有记录Count就等于1。
几个问题:
表关联查询再表达式分组,该如何实现?
使用字符串分组,是什么问题导致Count=1?
我要的结果该如何正确实现?
帮帮忙,非常感谢!
热忱回答(3)
-
开心 VIP0
2017/5/27不错
0 回复 -
fate stay night VIP0
2017/5/27Db.pagemodel=pagemodel.offset
0 回复 -
SqlSugar VIP0
2017/5/27@fate stay night:感谢,但是加上获取不到数据了,我用生成的SQL查询,ROUNUMBER是正常的。加上这个该怎么改呢,麻烦了!
0 回复