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#数据模型生成器(带源码),作备用。
可以看到这里明明实例化了数据库模型对象,却在调用的时候提示 对象为Null的错误,本想通过查看DBContext源码的办法来查看错误原因,无奈,本人实在太菜鸟。查了一个下午,却也得不到任何结果。看了几十篇博客后,突发奇想,会不会是版本的原因。于是开始着手替换MySql.Data.dll的版本号。果然还真是这个原因。
—修改步骤—
1.打开Nuget管理包,把Mysql.Data替换为6.10.0以下任意版本。这里选择的是6.8.8
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#数据模型生成器(带源码),作备用。
代码生成器下载