【发布时间】:2021-06-12 22:25:39
【问题描述】:
假设我有 3 个关系: classA(aID#, aName, aNumber), classB(bID#, bName, bNumber, aId), classC(cID#, cName, cNumber, bId)
并根据那 3 个带有一些随机数据的表:
A 类
| aID | aName | aNumber |
|---|---|---|
| 1 | aN1 | 5 |
| 2 | aN2 | 4 |
| 3 | aN3 | 3 |
B类
| aID | aName | aNumber | bID |
|---|---|---|---|
| 1 | bN1 | 3 | 1 |
| 2 | bN2 | 4 | 1 |
| 3 | bN3 | 5 | 2 |
类C
| aID | aName | aNumber | bID |
|---|---|---|---|
| 1 | cN1 | 6 | 1 |
| 2 | cN2 | 6 | 2 |
| 3 | cN3 | 7 | 3 |
现在,使用 T-SQL 语法如下:
select a.aID, a.aName, sum(c.cNumber) as SUM
from classA a
left join classB b on a.aID = b.aId
left join classC c on b.bID = c.bId
group by a.AID, a.aName, c.Number
所以我得到这样的结果:
| aID | aName | SUM |
|---|---|---|
| 1 | aN1 | 12 |
| 2 | aN2 | 7 |
| 3 | aN3 | 0 |
如何根据上面的解释创建正确的 lambda 表达式语法?
【问题讨论】:
-
当我执行该查询时(修正错字后),我在 SUM 列中得到 [6 6 7] (我在求和
c.aNumber时预期)。见sqlfiddle.com/#!9/850137/2
标签: c# sql-server linq lambda ef-core-3.1