我不确定是否可能,但我已经尝试了半天只使用日期来过滤MS SQL数据库中的记录,我得到了这个问题。我正在使用Repository模式,所以我得到了我的实体的所有记录,如下所示:
var rows = DocumentsRepository.All();
表Documents
具有datetime类型的列Date
,我需要在数据库中保留时间,但是当我准备进行过滤时,我想只使用日期,如果可能的话,设置小时,分钟,秒和毫秒到零。
是否可以以及如何在LINQ中执行此操作?
答案 0 :(得分:1)
如果您在存储库中使用EF,我猜想EntityFunctions.TruncateTime(datetimeObj)可以解决问题。
IQueryable<Entity> query = query.Where(x => EntityFunctions.TruncateTime(x.CreatedAt) == DateTime.Today);
var someList = query.ToList();