在DateTime值上仅比较nHibernate Linq中的Date

时间:2009-11-12 18:07:19

标签: linq nhibernate datetime date compare

我试图比较nHibernate linq中的两个日期(DateTime):

query = query.Where(l => (l.datCriacao.Date == dtLote.Date)

但我收到了错误:

NHibernate.QueryException: could not resolve property: datCriacao.Date of: SAGP.Entities.Lote

任何人都知道如何解决这个问题?感谢

3 个答案:

答案 0 :(得分:13)

我用日期解决了问题:

DateTime initialDate, finalDate;
initialDate= DateEntity.Date;
finalDate= new DateTime(DateEntity.Year, DateEntity.Month, DateEntity.Day, 23, 59, 59);
query = query.Where(l => (((l.dateEntity>= initialDate) && (l.dateEntity<= finalDate))

答案 1 :(得分:4)

这是超级老,但我将jaspion的例子添加为:

query = query.Where(l => (l.datCriacao >= dtLote.Date && l.datCriacao < dtLote.Date.AddDays(1))

答案 2 :(得分:1)

你可以检查这样的条件

var nextDay = DateTime.Today.AddDays(1);

query = query.Where(l =&gt;(l.datCriacao&gt; = dtLote&amp;&amp; l.datCriacao&lt; nextDay);

在这里你将获得dtLote日期的记录,因为我们在dtLote和dtLote之间进行检查+ 1天(00:00:00)我们将获得今天的日期记录,只有时间可能...