代码:
using (var db = base.ContextSort) { var a =await db.VSupplementRecords.ToListAsync(); return a; }
原因:
由于查询的结果中存在为空的字段而与转换对象VSupplementRecords中对应字段不是可空的,造成了一个数据类型转换的问题。
查找问题的历程:
创建一个demo 使用IBM.EntityFrameworkCore 来连接数据库查询
发现错误的异常为:
明显是一个数据强制装换的问题,如下的详细错误中提示是一个decimal类型的数据造成的,此时就讲对象的字段与数据库的字段比对是哪一个decimal类型的字段转换失败,对比可空、类型等等
最后发现是一个decimal类型的非空字段在数据库中是可空的(查出的数据中存在可空的数据)