【发布时间】:2020-10-06 17:49:41
【问题描述】:
我已经开始使用 Entity Framework 一个月了,所以我对 linq 查询不熟悉。我用SQL写的查询是:
SELECT
om0001.CUSTOMER, om0001.ITEM_CODE,
SUM(om0001.AMOUNT) AS AMOUNT,
SUM(ep0001.EXPORT_AMOUNT) AS EXPORT_AMOUNT
FROM
om0001
LEFT OUTER JOIN
ep0001 ON om0001.ID = ep0001.om0001_ID
GROUP BY
om0001.CUSTOMER, om0001.ITEM_CODE;
当我在 SQL 中运行此查询时,它运行良好,因此我尝试将其转换为 linq 查询。
到目前为止我所做的是
var testjoin = from om0001 in EF.om0001
join ep0001 in EF.ep0001 on om0001.ID equals ep0001.om0001_ID
into jointable
from z in jointable.DefaultIfEmpty()
group z by new {om0001.CUSTOMER, om0001.ITEM_CODE } into g
select new
{
CUSTOMER = g.Key.CUSTOMER,
ITEM_CODE = g.Key.ITEM_CODE,
om0001SUMamount = g.Sum(x => x.AMOUNT),
ep0001EXPORTsumAmount = g.Sum(y => y.EXPORT_AMOUNT)
};
这个 linq 查询的问题是我无法获得 om0001SUMamount。我只得到 ep0001 列数据。请帮忙
【问题讨论】:
-
请添加您的示例数据并添加您期望的结果
-
如果您给我们上课,我们会更容易定制答案
标签: entity-framework linq group-by sum left-join