表"aaa"有一个列,外键指向表"bbb",而外键指向表"ddd"。表"ddd"有一个列的ID叫"costRef"
我想选择那些具有列表中包含的具有特定costRef的任何"ddd"的"aaa"。
var query =
from tr in db.aaa
where tr.bbb.Any(x => x.ccc.ddd.Any(y => intList.Contains(y.costRef)))
select tr;
在这种情况下,我得到了我所有的"aaa",如果有ref.我可以理解,但这不是我想要的:)但是我怎么做到这一点?尝试用select和where语句来代替我的"any"。可能是这样做的,但是我无法做到
我在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