【发布时间】:2012-03-29 06:32:12
【问题描述】:
我有一个包含在 select 子句中的查询:
d1.id,
d1.title,
d1.original_doc,
d2.id,
d2.title
在from子句中:
left outer join documents d2 on d1.original_doc = d2.id
假设在数据库中我有这些行: ID TITLE ORIGINAL_DOC
1 Title1
2 Title2 1
对于第一行,NHibernate 将返回 1, Title1, null, 1, Title1 而不是 1, Title1, null, null, null。
对于第二行,它将返回 2, Title2, 1, 2, Title2 而不是 2, Title2, 1, 1, Title1。
请注意,第三列和第四列不应包含不同的值,因为连接的条件是它们相同。似乎正在发生的事情是我得到了与 d2 相同的 d1 行,而不是条件定义的行。
现在奇怪的部分:如果我打开 .ShowSql() 并将查询复制粘贴到 Oracle Toad,它实际上会返回正确的结果!
我通过使用 var data = session.CreateSQLQuery(selectQuery).List() 在 NHibernate 中获取结果集
有人有什么想法吗?
【问题讨论】:
标签: oracle nhibernate