具有AND条件的QueryOver HAVING子句

时间:2015-04-16 17:27:57

标签: nhibernate queryover

我正在尝试使用AND和AND创建一个HAVING子句,它会创建一个WHERE子句。

我测试了它,似乎问题只发生在我有一个AND或OR。

在这里你可以看到代码的简化版本(AND限制的两个部分是相同的,只是为了简化问题)。

eventQuery = eventQuery.Where(
                    Restrictions.And(
                        Restrictions.Le(
                            Projections.Conditional(
                                Restrictions.LeProperty( Projections.Property( () => aEvent.StartDate.End ), Projections.Max( () => aMeeting.Duration.Start ) ),
                                Projections.Max( () => aMeeting.Duration.Start ),
                                Projections.Property( () => aEvent.StartDate.End ) ),

                            DateTime.Now ),

                    Restrictions.Le(
                        Projections.Conditional(
                            Restrictions.LeProperty( Projections.Property( () => aEvent.StartDate.End ), Projections.Max( () => aMeeting.Duration.Start ) ),
                            Projections.Max( () => aMeeting.Duration.Start ),
                            Projections.Property( () => aEvent.StartDate.End ) ),

                        DateTime.Now ) )

                    );

你们有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这个问题似乎没有解决方案所以我们决定创建一个View查询,这样我们就可以将它映射到一个模型,并用一个Where子句写一个QueryOver来对着选定计算的字段。