Linq中表述一对多

  • 本文关键字:一对多 Linq c# linq
  • 更新时间 :
  • 英文 :


表"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

相关内容

  • 没有找到相关文章

最新更新