【发布时间】:2014-03-20 09:18:42
【问题描述】:
我有 3 个简单的表(实体):Page (id)、Control (id, page_id) 和 Setting (id, control_id)。
所以结构是Page->Control->Setting。
我有疑问:
SELECT
p.*
,c.*
,s.*
FROM #page p
LEFT JOIN ( SELECT * FROM #control WHERE id = @controlid) c ON p.id = c.page_id
LEFT JOIN ( SELECT * FROM #settings WHERE id = @settingid) s ON s.id = c.page_id
WHERE
p.id = @pageid
如何构建NHibernate构造来生成相同的查询?
【问题讨论】:
-
你试过什么?
-
@EricHerlitz 我什至不知道该怎么做:.JoinQueryOver(subQuery)。
-
为了成功,您必须构建支持数据模型的对象和映射,您这样做了吗?在这种情况下,请发布代码。
-
@EricHerlitz 当然所有的东西都完成了,映射等等。我在问如何构建查询
-
您不能使用 QueryOver 连接到任意派生表。您必须使用 HQL 或 SQL。
标签: c# sql nhibernate