Joh*_*ohn 6 nhibernate datetime truncate group-by queryover
我有一个相当普遍的QueryOver查询,包含以下内容,
.SelectList(list => list
.SelectGroup(() => txn.GroupField)
.SelectGroup(() => txn.Date))
.List<object[]>()
Run Code Online (Sandbox Code Playgroud)
此查询按预期工作,但我现在需要按截断日期进行分组,因为这些对象的某些日期可能包含时间组件.这似乎应该是一个微不足道的变化,但我找不到NHibernate支持的方式.
显而易见的解决方案是下面的更改,但不支持.
.SelectGroup(() => txn.Date.Date))
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
谢谢
你QueryOver可能看起来像这样:
Status alias = null;
var query = QueryOver.Of(() => alias)
.Select(Projections.GroupProperty(
Projections.SqlFunction("date", NHibernateUtil.Date, Projections.Property(() => alias.Date))));
Run Code Online (Sandbox Code Playgroud)
输出(伪sql):
SELECT
...
FROM [Status] this_
GROUP BY dateadd(dd, 0, datediff(dd, 0, this_.Date))
Run Code Online (Sandbox Code Playgroud)
希望这有帮助,干杯!
| 归档时间: |
|
| 查看次数: |
1474 次 |
| 最近记录: |