嗨,我在asp.net core 2.1中面临一个非常奇怪的问题 我有一个查询,选择一个特定日期的数据,例如
var balances = dbContext.Balances.Where(x => x.BalanceDate.Date == workDay.Date);
但是该查询正在本地ENV上运行,甚至当我连接到远程SQL Server时也是如此。但在服务器端,它不会返回任何结果。
答案 0 :(得分:0)
它可能与SQL Server的DateTime类型中包含的时区或毫秒有关。这可能是上述原因之一,您可以执行此操作(仅进行==
比较)
var balances = dbContext.Balances.Where(x =>
x.BalanceDate./*Date.*/Year == workDay/*.Date*/.Year &&
x.BalanceDate./*Date.*/Month == workDay/*.Date*/.Month &&
x.BalanceDate./*Date.*/Day == workDay/*.Date*/.Day);
PS:管理/统一时区偏移量或在处理日期类型时使用UTC始终是一个好习惯。