有没有办法使用 LinqToSql 在结果集中将 DateTime 的时间部分设置为 0:00:00

本文关键字:时间部 DateTime 设置 LinqToSql 集中 结果 有没有 | 更新日期: 2023-09-27 18:33:18

下面的代码检索表中"DateCreated"列的 DateTime 值:

var result = from t in db.table select t.DateCreated

我需要检索正确的日期值,但结果中所有项目的时间部分需要为 0。

有没有办法像下面的伪代码一样放回值为 00:00:00 的时间部分?

var result = from t in db.table select p.DateCreated.Value.Date + "00:00:00"

有没有办法使用 LinqToSql 在结果集中将 DateTime 的时间部分设置为 0:00:00

日期时间类型的 Date 属性仅返回日期部分。

所以:

var result = from t in db.table select DateCreated = (DateTime)t.DateCreated.Date;

我不想回答我自己的问题,但我在这里找到了解决方案

因此,将日期的时间部分重置为 00:00:00 的正确 LinqToSql sintax 是

var result = from t in db.table select DateCreated = System.Data.Entity.DbFunctions.TruncateTime(t.DateCreated)