使用EFCore连接Mysql后查询出现的一次错误和解决方案

使用EFCore连接Mysql后查询出现的一次错误和解决方案

nuget包信息:

Microsoft.EntityFrameworkCore 6.0
Microsoft.EntityFrameworkCore.Design 6.0
Pomelo.EntityFrameworkCore.MySql 6.0.0

使用EFCore语句查询代码

 var Result = _db.xxx.OrderBy(c=>c.Id).ToList();
 if (Result == null)
                return new ResponseModel { Code = 500, Message = "数据查询失败" };
            return new ResponseModel { Code = 200, Message = "数据查询成功", Data = Result };

报错信息:

Unable to cast object of type 'System.DBNull' to type 'System.String'

错误分析

这个错误代码猛地一看是数据库类型和实体类型不一致,接收不到数据。但是我又想,我通过Add语法成功添加了数据,所以应该不是实体类型的问题

经过一番搜索,在这篇文章中找到答案,结果只要在实体中允许为空的字段前加?就好

例如:

public string? Remark {get;set;} 
posted @ 2021-12-13 15:37  铁憨憨的小小白  阅读(565)  评论(0)    收藏  举报