【发布时间】:2016-03-08 18:03:49
【问题描述】:
表结构如下:
TableB TableA 1---> TableC
我需要在 Linq to EF 中运行一个查询来执行此操作:
SELECT SUM(TableC.SomeColumn)
FROM TableA a
INNER JOIN TableB b
ON a.Id = b.fkAId
INNER JOIN TableC c
ON a.Id = c.fkAId
WHERE <some_conditions>
GROUP BY c.Col2, c.Col3, b.Col5
到目前为止,我有这个,但我不知道如何在 group by 中指定表 b 列。它需要流畅而不是 LINQ SQL 风格的表达。
var res = TableCs.Where(c =>
c.TableA.TableBs.Any(b => b.Col5 == "SomeValue") &&
.
.
.
)
.GroupBy(c => new { c.Col2, c.Col3, b.<***how to I get to b column here***>})
.Select(gr => new
{
.
.
.
})
我可以从 A 中选择列,因为只有一个 A 导航属性,但是当我导航到最后一站的集合时,我无法想象如何到达 B 列。
有谁知道如何将这些 TableB 列用于 GroupBy 键??
【问题讨论】:
标签: c# entity-framework linq group-by fluent