我有一个名为 Outweigh 的表,其中包含大约 50 个字段。我需要创建一个类似于此 SQL 查询的 Linq 查询。
SELECT DISTINCT Product,
Medication,
SUM(NettWeight) as NettWt,
COUNT(DISTINCT CustCode) as Customer,
COUNT(DISTINCT DktNo)as DktNo
FROM outweigh
GROUP BY Product, Medication
ORDER BY Product, Medication
结果如下:
我写了一些代码如下,效率不高。
lstOutWeigh = dbContext.Outweighs
.Where(o => o.DateOut >= StartDate && o.DateOut <= EndDate)
.ToList();
var k = from t in lstOutWeigh select new {t.Product,t.Medication,t.NettWeight};
var l = from t in k
group t by new { t.Product, t.Medication } into g
select new someclass
{
prod =g.Key.Product,
med = g.Key.Medication,
tonnes = (double) g.Sum(x => x.NettWeight),
count = g.Count()
};
有什么建议么?