表“aaa”有一个带有外键的列“bbb”,后者又将它放到表“ddd”中。表“ddd”有一个名为“costRef”
的ID列我想选择那些带有我的“ddd”的“aaa”,其中包含我的列表中包含的特定costRef。
var query =
from tr in db.aaa
where tr.bbb.Any(x => x.ccc.ddd.Any(y => intList.Contains(y.costRef)))
select tr;
在上面那种情况下,如果有任何参考,我得到了所有的“aaa”。我能理解,但这不是我想要的:)但我如何设法做到这一点? 尝试用select和where语句分配而不是我的“any”。顺便说一下,这是做到这一点的方法,但我无法管理它。
答案 0 :(得分:-2)
我在Linq出现之前做过SQL,所以我仍然倾向于遵循相同的结构。在这种情况下,您可以这样做:
var query = from a in db.aaa
join b in db.bbb on a.FK equals b.ID
join c in db.ccc on b.FK equals c.ID
where intList.Contains(c.costRef)
select a