具有 2 个日期时间条件的 linq where 子句
我有一个看起来像这样的Where子句:
where p.Appoint.Date > TheStartTime.Date && p.Appoint.Date < TheEndTime.Date
出于某种原因,它返回0。但是,如果我写这个
where p.Appoint.Date == TheStartTime.Date
它会返回一个计数(尽管不是我想要的)。我做错了什么?
感谢您的建议。
I have a Where clause that looks like this:
where p.Appoint.Date > TheStartTime.Date && p.Appoint.Date < TheEndTime.Date
For some reason, it's returning 0. However, if I write this
where p.Appoint.Date == TheStartTime.Date
it returns a count (not the one I want though). What am I doing wrong?
Thanks for your suggestions.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
当做这样的事情时,使用 Ticks 来
比较两个数字总是更容易。
When doing things like this it's always easier to use Ticks
that way you're comparing between two numbers.
好的,我明白了:
ok, I got it:
您的第一个子句具有唯一的上限和下限。例如,如果您的较低日期是上午 8:30,则这不会匹配准确时间为上午 8:30 的记录,仅匹配那些晚的记录。
您的第二个子句正在寻找完全匹配。如果您想要包含边界,请使用
>=
和<=
而不是>
和<。
Your first clause has exclusive upper and lower bounds. So for example if your lower date is 8:30 AM, this will not match records with an exact time of 8:30 AM, only those later than that.
Your second clause is looking for an exact match. If you want inclusive bounds, go with
>=
and<=
instead of>
and<
.