我想将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;
提前谢谢
答案 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提供了查询语法如何转换为方法语法的非常好的解释