如何在 asp.net 核心中长时间查询数据库

how to query DB With long time against shot time in asp.net core

我有一个日期输入字段,与数据库中的日期相同但时间不同

比如数据库中的日期table这样2020-06-30 17:50:01.376

用户输入的日期如2020-06-30 00:00:00 我可以确定用户输入的日期,所以我决定使用像 2020-06-30

这样的短日期

这是我返回 null 的查询

product = conn.QuerySingleOrDefault<Products>("select TranDate, ProductNo from Products where ProductNo =@ProductNo AND TranDate =@TranDate", new { ProductNo = item.ProductNo , TranDate = "2020-06-30" });

它工作正常但是如果我把它改成

product = conn.QuerySingleOrDefault<Products>("select TranDate, ProductNo from Products where ProductNo =@ProductNo AND TranDate =@TranDate", new { ProductNo = item.ProductNo , TranDate = "2020-06-30 17:50:01.376" });

更新您的查询如下。将数据库列日期时间转换为日期并将其与您的输入参数进行比较。

SELECT TranDate
    ,ProductNo
FROM Products
WHERE ProductNo = @ProductNo
    AND CAST(TranDate AS DATE) = @TranDate