簡體   English   中英

ASP.NET Core 2.1和EF Core 2.1日期比較在服務器上不起作用

[英]asp.net core 2.1 ef core 2.1 date compare not working on server

嗨,我在asp.net core 2.1中遇到了一個非常奇怪的問題,我在查詢中選擇了特定日期的一些數據,例如

var balances = dbContext.Balances.Where(x => x.BalanceDate.Date == workDay.Date); 

但是查詢正在本地ENV上運行,甚至當我連接到遠程SQL Server時也是如此。 但在服務器端,它不會返回任何結果。

它可能與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始終是一個好習慣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM