select *
from Enfants
where Enfants.id in
(
select EnfantParents.Enfant_Id
from EnfantParents
where EnfantParents.Parent_Id in
(
select parents.Id
from Parents
where Parents.Id in
(
select Reservations.ParentId
from Reservations
where Reservations.CrecheId = 1
)
)
)
EnfantParents是一张隐藏的桌子。
我有Enfants *-----*
父母1-----*
预订
谢谢。
答案 0 :(得分:1)
EnfantParents是一个隐藏的表
从上面我假设你正在使用EF和auto" link"表,您的Enfant
实体具有Parents
导航属性,而您的Parent
实体具有Reservations
导航属性。
然后,您可以使用LINQ查询获得与SQL查询相同的结果,如下所示:
var query = db.Enfants
.Where(e => e.Parents.SelectMany(p => p.Reservations).Any(r => r.CrecheId == 1));