Tag: queryover

在NHibernate的queryover中使用OR Clause

我正在使用Nhibernate。 我正在通过queryover方法编写查询。 我能够编写和编写如下面的代码。 它的工作正常。 db.QueryOver(Of Users)() .Where(Function(x) x.Role = “Guest”) .And(Function(x) x.Block = 0) .And(Function(x) x.APPID = appId) .List(); 但我想使用Or子句代替And ,或两者的组合。 我该如何实现呢。 谢谢

如何使用Nhibernate进行条件求和?

我正在尝试相当于这个SQL代码 SELECT ID SUM(CASE WHEN myProperty = 2 THEN 1 ELSE 0 END) as nbRowWithValueOf2, SUM(CASE WHEN myProperty = 3 THEN 1 ELSE 0 END) as nbRowWithValueOf3 FROM Foo GROUP BY ID 有了Nhibernate。 到目前为止我试过了 queryable = queryable .Select( Projections.Group(c => c.ID), Projections.Sum(c => c.myProperty == MyEnum.Two ? 1 : 0) Projections.Sum(c => c.myProperty == MyEnum.Three […]

使用Moq模拟nHibernate QueryOver

测试时,以下行以空引用失败: var awards = _session.QueryOver().Where(x => x.BusinessId == (int)business).List(); 我的测试是这样的: var mockQueryOver = new Mock<IQueryOver>(); mockQueryOver.Setup(q => q.List()).Returns(new List {_awardingBody}); _mockSession.Setup(c => c.QueryOver()).Returns((mockQueryOver.Object)); _mockCommandRunner = new Mock(); _generator = new CertificateGeneratorForOpenSSLCommandLine(_mockSession.Object, _mockCommandRunner.Object, _mockDirectory.Object, _mockFile.Object, _mockConfig.Object); 老实说,我在黑暗中徘徊 – 我对nHibernate和Moq相对较新,所以我不太确定谷歌要获取正确的信息。

NHibernate中有任何算术运算预测吗?

我想从NHibernate获取这个SQL: SELECT SUM(color_pages) * SUM(total_pages) FROM connector_log_entry GROUP BY department_name 但我无法在任何地方找到任何算术运算(*)投影。 这是我到目前为止的代码: Session.QueryOver() .SelectList(list => list .SelectGroup(m => m.DepartmentName) .WithAlias(() => dto.Department) .Select(Projections.Sum(m => m.TotalPages)) //.Select(Projections.Sum(m => m.ColorPages)) .WithAlias(() => dto.TotalColorPercentage)) .TransformUsing(Transformers.AliasToBean());

NHibernate QueryOver组没有选择按列分组

有如下查询: var subquery = SessionFactory.GetCurrentSession() .QueryOver() .Where(_ => _.SomeOtherEntity.Id == someId) .SelectList(list => list .SelectGroup(x => x.SomeGroupByProperty) .SelectMax(x => x.MaxPerGroupProperty)) .List(); 生成的sql正在选择SomeGroupByProperty和SomeGroupByProperty最大值。 是否可以让它在SomeGroupByProperty上进行分组,但只选择MaxPerGroupProperty最大值? 这是为了将子查询结果与父查询中的包含一起使用。