- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 NHibernate 和 QueryOver 很陌生,我无法让 NHibernate 生成我需要的 SQL。
我需要进行联接并有一个额外的条件,这样我就可以避免从要联接的表中获取大量数据。
我从 QueryOver 收到的 SQL 是:
SELECT * FROM adresse this_
left outer join r580_test.afvigelse remarkalia1_ on this_.id=remarkalia1_.adrid
left outer join r580_test.afvigelseklagepunkter remarkcomp5_ on remarkalia1_.id=remarkcomp5_.afvigelseid
left outer join r580_test.klagepunkter complainta2_ on remarkcomp5_.klagepunktid=complainta2_.id
WHERE this_.id = 16633 and remarkalia1_.dato between '2009-03-13 00:00:00' and '02-03-2012 16:34:35'
我想要的是这个(第一个左外连接的日期之间的日期已移至末尾):
SELECT * FROM adresse this_
left outer join r580_test.afvigelse remarkalia1_ on this_.id=remarkalia1_.adrid and remarkalia1_.dato between '2009-03-13 00:00:00' and '02-03-2012 16:34:35'
left outer join r580_test.afvigelseklagepunkter remarkcomp5_ on remarkalia1_.id=remarkcomp5_.afvigelseid
left outer join r580_test.klagepunkter complainta2_ on remarkcomp5_.klagepunktid=complainta2_.id
WHERE this_.id = 16633
我的 QueryOver 看起来像这样:
adr = session.QueryOver<Address>()
.Where(x => x.Id == 16633)
.JoinQueryOver<Remark>(y => y.Remarks).Where(y => y.Created > DateTime.Now.AddDays(-14))
.JoinAlias(y => y.RemarkComplaint, () => complaintAlias, JoinType.LeftOuterJoin)
.SingleOrDefault();
有人知道如何解决这个问题吗?
最佳答案
joinqueryover 有几个重载 - 我相信你想要这样的东西:
Remark remark = null;
adr = session.QueryOver<Address>()
.Where(x => x.Id == 16633)
.JoinQueryOver<Remark>(y => y.Remarks, () => remark, y => y.Created > DateTime.Now.AddDays(-14))
.JoinAlias(y => y.RemarkComplaint, () => complaintAlias, JoinType.LeftOuterJoin)
.SingleOrDefault();
在这种情况下,第三个参数是 withClause,我相信它将对连接添加限制。
关于c# - QueryOver - 向 Join 添加附加条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9536779/
我有一个与此类似的循环。 int total1, total2; for (total1 = fsize(myfile);;) { total2 = fsize(myfile); ..
我已经开始了一个小项目来尝试学习一些新概念(希望是 C++ 或 Python),我只是希望在我的想法开始时得到一点帮助。 *这一切都与一个更大的梦幻篮球项目有关,但我必须从某个地方开始。 我想要 10
我有以下实体: @Entity public class User { @ManyToOne @JoinColumn(name = "group_code", referencedCo
我正在尝试使用 hibernate 条件向 Join 子句添加附加条件。事实上,有一些方法可以做到这一点: createCriteria(String associationPath, String
我是一名优秀的程序员,十分优秀!