c# ef报错_C# EF调用MySql出现“未将对象引用设置到对象的实例”错误解决方案

在C#中使用Entity Framework(EF)连接MySQL数据库时,遇到“未将对象引用设置到对象的实例”的错误。通过以下步骤解决:1. 将Mysql.Data和Mysql.Data.Entity降级到6.10.0以下版本,如6.8.8;2. 在App.Config中添加新的连接字符串;3. 创建数据库实体模型类。最后确保在DbContext中正确配置连接字符串。
摘要由CSDN通过智能技术生成

C# EF调用MySql出现“未将对象引用设置到对象的实例”错误解决方案---修改步骤---1.打开Nuget管理包,把Mysql.Data替换为6.10.0以下任意版本。这里选择的是6.8.8

2.修改完毕后,继续把Mysql.Data.Entity也修改为对应版本6.8.8。

3.安装完成后可以看到App.Config下多了一个节点

4.新建连接字符串

5.创建对应数据库的实体模型类

最后放上自己做的一个简陋的C#数据模型生成器(带源码),作备用。

89ba65113f285d3c07a01fa1da6320c0.png

可以看到这里明明实例化了数据库模型对象,却在调用的时候提示 对象为Null的错误,本想通过查看DBContext源码的办法来查看错误原因,无奈,本人实在太菜鸟。查了一个下午,却也得不到任何结果。看了几十篇博客后,突发奇想,会不会是版本的原因。于是开始着手替换MySql.Data.dll的版本号。果然还真是这个原因。

—修改步骤—

1.打开Nuget管理包,把Mysql.Data替换为6.10.0以下任意版本。这里选择的是6.8.8

001643873bab0abd6d9688838a52e14c.png

2.修改完毕后,继续把Mysql.Data.Entity也修改为对应版本6.8.8。

注:如果没有安装Mysql.Data的话,自行搜索安装对应版本即可。

3.安装完成后可以看到App.Config下多了一个节点

4.新建连接字符串

在 configuration 结点下新增连接字符串

5.创建对应数据库的实体模型类

。。。。。省略创建过程。。。。。。。

。。。。。省略创建过程。。。。。。。

。。。。。省略创建过程。。。。。。。

最后的连接数据上下文的类大概是这个样子的

public partial class DataModelsContext : DbContext

{

public DataModelsContext()

: base("name=testDbContext") //对应Config中的连接字符串name

{

}

public DbSet new_tableInfo { get; set; }

public DbSet new_tableInfo { get; set; }

public DbSet new_tableInfo { get; set; }

}

最后,实例化 DataModelsContext 对象,就可以通过EF框架使用MySql数据库了。

最后放上自己做的一个简陋的C#数据模型生成器(带源码),作备用。

3cfcff0c85a4502bbd0f946434107a6b.png

代码生成器下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值