NHibernate:如何在Nhibernate中查找特定日期

时间:2010-04-03 10:36:21

标签: nhibernate

如何在Nhibernate中查找特定日期?

我正在使用它查找一天的订单。

 ICriteria criteria = SessionManager.CurrentSession.CreateCriteria(typeof(Order))
            .Add(Expression.Between("DateCreated", date.Date.AddDays(-1), date.Date.AddDays(1)))
            .AddOrder(NHibernate.Criterion.Order.Desc("OrderID"));

我尝试了以下代码,但他们确实为我带来了数据。

Expression.Eq("DateCreated", date)

Expression.Like("DateCreated", date)

注意: 传递日期值将类似于此2010-04-03 00:00:00

数据库中的实际日期值将类似于此2010-03-13 11:17:16.000

任何人都可以让我知道怎么做吗?

非常感谢。

1 个答案:

答案 0 :(得分:1)

由于您的数据库字段包含日期和时间信息,因此查询单个日期必须使用介于或大于/小于。从您的问题中不清楚哪个查询不起作用,但使用Expression的第二个示例将无效,因为时间部分与数据库记录的时间部分不匹配。