[英]as performed query SQL in linq or lambda expression?
祝大家好运,我遇到以下问题,我必须将以下查询SQL转换为LINQ到SLQ或lambda表达式:
SELECT T2.ID, SUM(T1.Importe) AS Importe, T3.ID, T3.Column_1,
T3.Column_2, T1.Column_3
FROM Tabla_1 T1
INNER JOIN Tabla_2 T2 on T1.ID = T2.ID
INNER JOIN Tabla_3 T3 on T2.ID = T3.ID
WHERE T1.ID in (LIST)
GROUP BY T2.ID, T3.ID, T3.Column_1, Column_2, T1.Column_3
其中LIST是一个列表(12,15,18,19,...)
如在linq或lamnbda表达式中执行的?
THKS!
这是提示:
var result = ents.T1
.Where(x => list.Contains(x.Id))
.GroupBy(x => new
{
Id2 = x.T2.Id,
Id3 = x.T3.Id,
...
// etc group fields
})
.Select(x => new
{
Importe = x.Sum(i => i.Importe)
x.Key.Id2,
// other group fields
...
})
.ToArray();
我强烈建议不要像以前那样命名列和表。 真)
我没有尝试,但是看起来可能像这样:
var result = (from t1 in dataContext.tabla_1
join t2 in dataContext.tabla_2 on t1.ID equals t2.ID
join t2 in dataContext.tabla_2 on t2.ID equals t3.ID
group t2 by t2.ID into g
where listIds.contains(t1.ID)
select new {g.ID, g.Sum(t => t.Importe), ...});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.