Group By Linq 语句中的多列

Group By multiple columns in Linq statement

下面是我的 linq 查询:

var objList = from p in db.Table1
              join q in db.Table2 on p.saleCategoryId equals q.Id
              join r in db.Table3 on p.landDetailId equals r.Id
              select new
              {
               p.Id,
               r.KhataNo,
               r.KhasraNo,
               q.type,
               p.saleCategoryId,
               p.area,
               p.stock
              };

根据上面的查询,我得到如下结果:

Id  KhataNo  KhasraNo  Type SaleCategoryId  Area  Stock
1     1AB     11AB      LOM     1            100   50
2     1AB     11AB      LOR     2            200  100
3     1CD     11CD      LOM     1            300  150
4     1CD     11CD      LOR     2            250   50

但我想按以下方式对上面的几列进行分组和总结(期望的输出):

Id   KhataNo   KhasraNo  Area  Stock
1     1AB       11AB      300   150
2     1CD       11CD      550   200

任何人都可以帮助我获得所需的输出。

      var objList = from p in db.Table1
          join q in db.Table2 on p.saleCategoryId equals q.Id
          join r in db.Table3 on p.landDetailId equals r.Id
          group t by new{t.KhataNo, t.KhasraNo}
          into grp
          select new
          {

           grp.key.KhataNo,
           grp.key.KhasraNo,
           area = grp.Sum(t=> t.Table1.area),
           stock = grp.Sum(t=>t.Table1.stock)
          };