EF查詢某個時間段內的數據遇到坑!


第一個問題

var res = pwDb.Set<WorkInfo>().Where(t => t.WorkTime > startTime && t.WorkTime < endTime);

用大余小余就行了,簡單。

 

第二個問題就麻煩了,數據庫內儲存的時間是含有秒。而js傳過去時間只有日期,而我們實際操作時,也只需要查詢日期。這個時候EF會自動把日期時間加上00:00:00,這樣前端選擇最后一天就查不到,應該是23:59:59才對。

解決辦法:

 endTime = Convert.ToDateTime(EndTime).AddDays(1).AddSeconds(-1);

用AddDays(1)加上一天,然后用AddSeconds(-1)減去一秒,就行了

注意如果拿到日期含時間的話,就用Date方法,這樣就只有日期了

如DateTime.Now.Date.AddDays(1).AddSeconds(-1);

這樣就可以了!

 

記錄一下....

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM