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