我维持一个大稳定。遗留系统仍然在NHibernate 2上。
注意:很遗憾,此时无法升级,但计划在未来进行升级
我正在尝试在搜索特定项目时进行子选择。
我想生成类似于以下SQL的内容
devtools::test()
我的子选择如下:
SELECT
u.Id,
u.Name,
u.Email,
(SELECT TOP 1 FROM Notifications n WHERE n.UserId = u.Id ORDER BY DateSent DESC) AS LastNotification
FROM
Users u
我使用//...
Map(x => x.LastNotification).Formula("(SELECT TOP 1 FROM Notifications n WHERE n.UserId = this_.Id ORDER BY DateSent DESC)").ReadOnly();
//..
来引用this_
表,因为它是由NHibernate生成的
当User实体是另一个相关实体的属性时会出现问题,因此Users
会成为其他实体。
正如预期的那样,SQL错误是this_
我一直在努力寻找一种创建别名的方法,似乎找不到我可以用于我的案例的解决方案..
如何在NHibernate 2中进行子选择?
答案 0 :(得分:0)