我正在尝试编写一个不会触发一百万个子查询的linq查询。
我想要做的是在sql
中这样的事情select incoming.id, incoming.message, outgoing.message
from incoming
left join outgoing on incoming.id = outgoing.originalMessageId
where outgoing.message is not null
所以基本上我正在做左连接只是我可以找到没有孩子的对象。
有没有办法做到这一点,并返回一组类型的“传入”项目??
听起来很简单,我尝试了几种不同的方法,但我认为我患有睡眠不足,所以我的大脑没有实现:(
提前谢谢 道格答案 0 :(得分:1)
如果我理解你的问题,这应该可以解决问题:
Incoming
.Join(
Outgoing
.Where(o => o.message != null),
i => i.id,
o => o.originalMessageId,
(i,o) => new {Incoming=i, Outgoing=o}
)