NHibernate左外连接3表

时间:2011-06-06 17:53:09

标签: nhibernate

我在nhibernate设置了3个实体,用户相册照片。 用户HasMany相册 专辑HasMany照片

我正在尝试在NHibernate中编写一个查询,它几乎可以执行以下sql查询。 我希望结果为List<Photo>

任何人都可以就如何做到这一点给我一个建议吗?

感谢

select p.* from UserTbl u
Left outer join Album a
on u.Id = a.UserId
left outer join Photo p
on a.Id = p.AlbumId
where u.Email = 'myemail@email.com'

1 个答案:

答案 0 :(得分:1)

如果您从User开始并检索Photo,我不明白为什么您需要左联接。

一种可能性:

IList<Photo> results =
    session.Query<Photo>()
           .Where(x => x.Album.User.Email = 'myemail@email.com')
           .ToList();