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)
};
下面是我的 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)
};