This isn't much of an NH problem. The database is storing a date and time,
so you should query it as a date and time, not just a date.

Your first query is close... I think it should be Between(date.Date,
date.Date.AddDays(1)). This would also include orders from exactly midnight
the next day, so that's no good.

You want this:

DateCreated >= date.Date And DateCreated < date.Date.AddDays(1)

I'll leave the translation to criteria for you.

On Sat, Apr 3, 2010 at 6:05 AM, Daoming Yang <[email protected]>wrote:

> How I can lookup a specific date in Nhibernate?
>
> I'm currently using this to lookup one day's order.
>
>  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"));
>
> I tried the following code, but they did bring the data for me.
>
> Expression.Eq("DateCreated", date)
>
> Expression.Like("DateCreated", date)
>
> *Note:* The pass in date value will be like this 2010-04-03 00:00:00,
>
> The actual date value in the database will be like this 2010-03-13
> 11:17:16.000
>
> Can anyone let me know how to do this?
>
> Many thanks.
>
> --
> You received this message because you are subscribed to the Google Groups
> "nhusers" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<nhusers%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/nhusers?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.

Reply via email to