【发布时间】:2014-12-02 11:08:19
【问题描述】:
我有一个带有 CreatedOn 日期时间字段的表。我想获取日期时间字段 (CreatedOn) 的分钟在 31 到 59 之间的所有记录。我想获得与
等效的 NHibernateSELECT * FROM dbo.CL_M_Organization
WHERE DATEPART(mi,CreatedOn) BETWEEN 31 AND 59
基本的 NHibernate 查询是
var result = NHSession.QueryOver<Organization>()
.Where(x=>x.CreatedOn < currentdatetime)
.List<Organization>()
.ToList();
CreatedOn 字段的类型为日期时间。
请大家帮忙...
【问题讨论】:
-
为什么要这样做?似乎您正在尝试解决可以以不同方式完成的事情。您可能必须执行原始 SQL 查询并使用 NHibernate 将结果转换为对象。
-
但是 CreatedOn 是 DateTime 属性吗?如果是这样,不应该是 CreatedOn.Minute 吗?
-
Minute是DateTime的属性,我怀疑 NHibernate 是否能够正确执行该反射。它可能必须先从数据库中提取结果,然后才能查询该属性。
标签: c# nhibernate queryover