.netcore 2.1使用左表連接時報錯,原因是對數據庫中實體 DateTimeOffset date做查詢判斷時,將數據庫中date轉為string進行了判斷,這樣判斷是錯誤的,並且效率低,應該是不改變數據庫中字段類型,將查詢條件字段更改為數據庫字段類型
錯誤的寫法:
var _upTwoLst = _postgreDbContext.income.Where(m=>m.date.Date.ToString("yyyy-MM-dd") == DateTimeOffset.Now.AddDays(-1).ToString("yyyy-MM-dd"));
正確的寫法:
var _upTwoLst = _postgreDbContext.income.Where(m=>m.date== DateTimeOffset.Parse(DateTimeOffset.Now.AddDays(-2).ToString("yyyy-MM-dd")));