【发布时间】:2018-08-20 01:10:48
【问题描述】:
我有以下数据库
DriverC Description LiabilitiesC Amount Date
---------------------------------------------------------
D001 form A to B 0 10.00 8/3
D001 form A to B 1 20.00 9/3
D001 form A to B 1 20.00 10/3
D002 form C to D 1 30.00 11/3
LiabilitiesC 是一个有两个值的期权,即:0-Payment; 1-负债
我想要的显示界面如下
DriverC Description Liabilities Payment Date
-----------------------------------------------------------
D001 form A to B 40.00 10.00 8/3
D002 form C to D 30.00 0 11/3
代码分组如下
var list = (from l in liabilites.AsEnumerable()
group l by l.DriverC
into g
select new LiabilitiesViewModel()
{
DriverC = g.First().DriverC,
Description = g.First().Description,
LiabilitiesC = g.First().LiabilitiesC,
Amount = g.First().Amount,
Date = g.First().Date,
}).ToList();
如下分配数据
for (int i = 0; i < list.Count; i++)
{
row["DriverC"] = list[i].DriverC;
row["Description"] = list[i].Description;
row["Date"] = list[i].Date;
if (list[i].LiabilitiesC == "0")
{
row["Payment"] = list[i].Amount;
row["Liabilities"] = 0;
}
else
{
row["Liabilities"] = list[x].Amount;
row["Payment"] = 0;
}
}
但是,结果并不像预期的那样
DriverC Description Liabilities Payment Date
-----------------------------------------------------------
D001 form A to B 40.00 8/3
D002 form C to D 30.00 11/3
在这种情况下有人帮助我,谢谢
【问题讨论】:
标签: c# asp.net entity-framework linq group-by