将LINQ查询转换为LINQ扩展

时间:2018-02-01 09:05:29

标签: c# sql linq

我想将LINQ转换为LINQ扩展方法。这是我的代码:

var fullLastHb = from hb in buklinq.DeviceHeartbeat
                 join hb2 in lastHbTime
                 on new { hb.IdDevice, hb.Timestamp } equals new { hb2.IdDevice, hb2.Timestamp }
                 select hb;

提前谢谢

1 个答案:

答案 0 :(得分:1)

直截了当:

var fullLastHb = buklinq.DeviceHeartbeat.Join(lastHbTime,
                       hb => ew { hb.IdDevice, hb.Timestamp },
                       hb2 => new { hb2.IdDevice, hb2.Timestamp },
                       (hb, hb2) => hb);

您可以随时翻译:

from x in source1
join y in source2
on selector1 equals selector2
select projection

source1.Join(source2, x => selector1, y => selector2, (x,y) => projection);

source1.Join(source2, x => selector1, y => selector2, (x,y) => new {x, y})
       .Select(z => projection);

Jon Skeet提供了查询语法如何转换为方法语法的非常好的解释