请问分组查询返回实体怎么做? 返回

SqlSugar 老数据
5 2909
该叫什么 D-Eric 发布于2017/11/3
悬赏:5 飞吻

数据库表里:

[id]    [name]    [grouop]

1      张学友    g1

2      刘德华    g2

3       郭富城    g1


返回的结果要求是

{

    key:'g1'

    people:[

        {id:1,name:'张学友'},

        {id:3,name:'郭富城'}

    ],

    key:'g2'

    people:[

        {id:2,name:'刘德华'}

    ]

}

热忱回答5

  • var list=db.Queryable<T>().Where(条件).ToList().GroupBy(it=>it.id).Select(it=>new{key=it.Key,Value=it}).ToList();

    0 回复
  • D-Eric D-Eric VIP0
    2017/11/6

    你这个应该是EF里面的写法吧?但用sqlsugar怎样实现?

    0 回复
  • ToList()之后就到内存了你就可以用LINQ语法了

    0 回复
  • D-Eric D-Eric VIP0
    2017/11/9

    @fate stay night:这个只要是先按[group]去分页获取数据,再获取它下面的人员名单。如果直接ToList()过来,等于将整个表都返回了,数据一大内存消耗吃不消

    0 回复
  • 都是一对多了,你想要的和一次查出来结果集是差不多的,你只是内存处理了下KEY

    0 回复