VS连接Mysql生成EntityFramework实体映射太多坑

VS连接sql server因为都是微软的,所以VS自带功能,使用很方便,但是连Mysql就不同了,mysql开发的驱动有很多的坑。本人亲自尝试,终于找到对策

步骤

1.要安装mysql-connector-net,这个是Windows连接Mysql的驱动。

2.要安装mysql-for-visualstudio,这个是VS生成实体对象的插件。

3.在VS项目中添加MySql.Data,MySql.Data.Entity这两个DLL,建议用NuGet导入。

说明一下,这几个步骤中mysql-connector-net,和MySql.Data.Entity的版本号必须对应,不然是无法生成的,这是个大坑。Mysql开发的驱动很多新的版本没有对应的MySql.Data.Entity。

以下是我使用的版本mysql-connector-net-6.8.8.msi,下载地址https://pan.baidu.com/s/1RbK6E2MaY9VQe9RxFZBtpA,提取码b86n。因此MySql.Data.Entity也必须是6.8.8,这个NuGet上有,找对应版本。

4.新增.edmx项目,在项目上右击添加ADO.NET实体数据模型,配置数据库连接,在新建连接的时候数据源要选择MySQL Database,如果没有这一项,那就是没有装好mysql-for-visualstudio,选完后就可以生成实体模型了。

5.打开DbContext生成器,也就是.TT文件,看到一页乱七八糟的代码后Ctrl+S,保存后就会自动生成实体对象。

6.如果出现无法生成模型:“表“TableDetails”中列“IsPrimaryKey”的值为DBNull这个报错,请执行下面的语句后重启并重新生成

use <database_name>;
set global optimizer_switch='derived_merge=off';
set optimizer_switch='derived_merge=off';

select @@optimizer_switch;
select @@GLOBAL.optimizer_switch;

新增.edmx项目这一步也有很多坑,请听下回分解。

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值