代碼:
using (var db = base.ContextSort) { var a =await db.VSupplementRecords.ToListAsync(); return a; }
原因:
由於查詢的結果中存在為空的字段而與轉換對象VSupplementRecords中對應字段不是可空的,造成了一個數據類型轉換的問題。
查找問題的歷程:
創建一個demo 使用IBM.EntityFrameworkCore 來連接數據庫查詢
發現錯誤的異常為:
明顯是一個數據強制裝換的問題,如下的詳細錯誤中提示是一個decimal類型的數據造成的,此時就講對象的字段與數據庫的字段比對是哪一個decimal類型的字段轉換失敗,對比可空、類型等等
最后發現是一個decimal類型的非空字段在數據庫中是可空的(查出的數據中存在可空的數據)