LINQ中datetime值的时间部分

Man*_*ish 0 linq .net-3.5 winforms

我有DateTime类型的字段.

插入记录时,我也提供了进入该领域的时间.

使用LINQ读取该字段时,它将返回正确的日期,但时间值具有默认值, 12:00:00 AM

在数据库中,我有每个记录的日期和时间值是正确的.问题是当使用LINQ读取/数据绑定时,时间会更改为默认值.

dataGridView1.DataSource = IQueriableObject.Select(q => new 
         {AppointmentTime = q.AppointmentTime.Value.Date.TimeOfDay}) ;
Run Code Online (Sandbox Code Playgroud)

提取时间部分有什么解决方案?

msa*_*het 6

这是伤害你的

AppointmentTime = q.AppointmentTime.Value.Date.TimeOfDay

当你这样做q.AppointmentTime.Value.Date时,只获取值的Date部分,默认情况下TimeOfDay,a上的属性Date是12:00:00 AM.

相反,你应该这样做q.AppointmentTime.Value.TimeOfDay(这只有在值是一种类型时才有效DateTime).