【发布时间】:2022-01-13 07:43:16
【问题描述】:
我在数据库中有一个名为 Balance 的表和一个日期列表,如下所示:
List<string> allDates = { "2021-01-02", "2021-01-03", "2021-01-04" }
余额表:
Id, Amount, BalanceDate
1, 233, "2021-01-02"
2, 442, "2021-01-03
我需要获取余额表中缺失日期的金额为 0 的记录。例如:
233, "2021-01-02"
442, "2021-01-03"
0, "2021-01-04"
我尝试了以下方法:
balnces.GroupJoin(allDates,
balance => balance.Date,
d => d,
(balance, d) => balance);
但是记录还是一样的(只有余额表中的)
【问题讨论】:
-
您可以发布任何自己的尝试吗?您遇到的任何问题描述?是数据库中的余额表吗?
-
数据库部分非常重要,因为你cannot simply join a table with a list
-
@MongZhu 我已经添加了我的尝试。余额表就是上面提到的数据库表
-
请始终提及您使用的数据访问类型,例如实体框架 + 哪个版本。使用标签来表明这一点。也就是说,GroupJoin 等价于 left 外连接。这里的左边是天平。如果您想查看所有日期,日期应在左侧。
标签: c# asp.net linq lambda left-join