DateTime对象小于或等于

时间:2013-12-28 21:26:41

标签: c# asp.net-mvc datetime

为什么 2013-12-28 21:40:43 小于 2013-12-28 22:18:23

我有这种方法来检索过去的开始日期的记录。

repository.Get(x => x.StartDate <= DateTime.Now && (x.EndDate > DateTime.Now || !x.EndDate.HasValue)

如果我将StartDate更改为 2013-12-27 ,则会提取记录。

我在这里缺少什么?

提前致谢

更新

解决方案:

DateTime now = DateTime.Now;

然后在表达式中使用它。

2 个答案:

答案 0 :(得分:1)

您的数据库和您的网站在2台机器上?
linq中的DateTime.Now将翻译sql函数,因此它使用db机器时间
和var now = DateTime.Now使用网站机器时间
所以检查数据库机器系统日期时间

答案 1 :(得分:0)

我通过将DateTime.Now存储在局部变量中并在表达式中使用它来解决它。

DateTime now = DateTime.Now;