我有两个日期值,一个已存储在数据库中,另一个由用户使用 DatePicker 选择。用例是从数据库中搜索特定日期。
先前在数据库中输入的值始终具有 12:00:00 的时间部分,而从选择器输入的日期具有不同的时间部分。
我只对日期部分感兴趣,想忽略时间部分。
在 C# 中进行这种比较的方法有哪些?
另外,如何在 LINQ 中执行此操作?
更新:
在 LINQ to Entities 上,以下工作正常。
e => DateTime.Compare(e.FirstDate.Value, SecondDate) >= 0
使用类EntityFunctions用于修剪时间部分。
using System.Data.Objects;
var bla = (from log in context.Contacts
where EntityFunctions.TruncateTime(log.ModifiedDate) == EntityFunctions.TruncateTime(today.Date)
select log).FirstOrDefault();
Source: http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/84d4e18b-7545-419b-9826-53ff1a0e2a62/
UPDATE
从 EF 6.0 及更高版本开始,EntityFunctions 被替换为数据库函数.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)