在 linq-to-sql 中的两个日期时间之间查询

fre*_*hie 3 c# linq

我有一个将 2 个日期时间作为参数的查询,我需要编写一个 where 子句来获取介于两者之间的记录。这些不仅仅是日期,而是带有时间的日期(即 1/28/2012 9:45)

到目前为止,我是这样的:

where d.RecordDateTime > StartDate && d.RecordDateTime < EndDate
Run Code Online (Sandbox Code Playgroud)

我应该将这些重写为:

where d.RecordDateTime > StartDate.Date && d.RecordDateTime < EndDate.Date
Run Code Online (Sandbox Code Playgroud)

或者就这样就好了。

谢谢。

Yah*_*hia 5

您当前的查询 definitley 有效...取决于您是否希望结果包含StartDate和/或EndDate应该稍微更改:

where d.RecordDateTime >= StartDate && d.RecordDateTime <= EndDate
Run Code Online (Sandbox Code Playgroud)

如果您按照您在问题中提出的建议更改查询,那么您会将其全部包含在与时间无关的结果中 - 尽管它会错过时间为 00:00:00 的行,甚至会错过一整天(the EndDate)。