LINQ To SQL 处理 DateTime? 类型

 

例子: 搜索栏含有最后扫描时间的日期(DateTime?)与多个其他条件(String)

现在需要写一个查询 : 查询符合最后扫描的日期的查询

 

搜索结果

 LINQ To SQL 处理 DateTime?

LINQ To SQL 处理 DateTime?

 以上是使用LINQ To Object 编写搜索的结果;以下试试使用 LINQ To SQL

 LINQ To SQL 处理 DateTime?

当搜索条件中最后扫描时间有值时,运行正常,查询到一条结果。

但当搜索条件中不填写最后扫描时间时,运行则报错了。

 LINQ To SQL 处理 DateTime?

照理如果没有填写时间条件的话 则满足了 || 前的条件 就不会走或后面的逻辑。

 最终我们怀疑是 Linq To Object 中对 ||  的正式运行时无论怎样都会运行 || 前后的条件, 导致找到了后面空值的.Date发生了错误。

 

 

对于搜索可空条件 我们会做一个转换, 转成不可空的 SqlDateTime 的最小值或最大值

LINQ To SQL 处理 DateTime?

 

LINQ To SQL 处理 DateTime?

 

相关文章:

  • 2021-07-10
  • 2021-04-29
  • 2021-06-02
  • 2021-09-15
猜你喜欢
  • 2021-12-15
  • 2021-11-26
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案