繁体   English   中英

在linq或lambda表达式中执行查询SQL?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM