【发布时间】:2015-11-04 11:52:38
【问题描述】:
我想查询我的一个实体,但我想查询多个列。
问题(表格)
Id Name OpenId CloseId
1 A 1 NULL
2 B 2 3
3 C 4 5
4 D 6 7
5 E 8 9
现在 GroupTable 是
Id Name
1 AA
2 BB
3 CC
4 DD
5 EE
6 FF
7 GG
8 HH
9 II
现在我想使用来自组表的 OpenId 和 CloseId 对 Question 表进行 queryOver。我能怎么做。
我可以轻松实现从SQL查询之类的。
select * from questions q
inner join GroupTable g on q.OpenId = g.Id Or q.CloseId = g.Id
我怎样才能通过 Queryover 得到这个?
类结构如下所示:
public class Question
{
public int Id { get; set; }
public GroupTable OpenTable { get; set; }
public GroupTable CloseTable { get; set; }
}
public class GroupTable
{
public int Id { get; set; }
public int Name { get; set; }
}
【问题讨论】:
-
我已经用类实体更新了问题
-
如果使用 NHibernate,JOIN 的 ON 部分将*永远填充
OR...。它将为 Open 或 Close 属性加入。或者两者都 - 但随后将创建两个连接......所以上面的选择将不起作用 -
那么最好的方法是什么?通过sql查询?
标签: nhibernate queryover