之前用的EF5框架,现在想换成EF6,可是问题到处都是。
![2789632-1fe3016e3e9f9b99.png](https://i-blog.csdnimg.cn/blog_migrate/59e6b1a87d92e9bce403b608336d417d.webp?x-image-process=image/format,png)
解决方案:
第一步:创建空控制台程序
第二步:
在 - 工具 - 库程序包管理器 - 程序包管理器控制台 这里 默认项目, 在PM>后 输入
Install-Package EntityFramework -Version 6.0.0
Install-Package EntityFramework.zh-Hans -Version 6.0.0
Install-Package MySql.Data.Entity.EF6(这一步我没install进去)故在此处添加引用:
![2789632-450f2f2a6e9d67b8.png](https://i-blog.csdnimg.cn/blog_migrate/9fab3380fb0a8f7df4aaf674e8a15e05.webp?x-image-process=image/format,png)
第三步:
这时候在providers 里 添加一个mysql.data.MysqlClint节点, 这个步骤很重要。
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6"></provider>
而后又出现这个问题:
![2789632-c1483e2677f1633a.png](https://i-blog.csdnimg.cn/blog_migrate/cafb338443576a66b835f4b14cf00ef6.webp?x-image-process=image/format,png)
解决办法:
- 运行services.msc,重启MySQL服务.
- 在MySQL运行一下命令:
use mydbname;
set global optimizer_switch='derived_merge=OFF'; -
重新生成 .edmx
最后再生成实体模型:
![2789632-9cf0a66f58c6ef3f.png](https://i-blog.csdnimg.cn/blog_migrate/d32782641d171058435ca706f5d12025.webp?x-image-process=image/format,png)
![2789632-3b18269684ea9294.png](https://i-blog.csdnimg.cn/blog_migrate/968ba340cacfe731cb84448c30f50e60.webp?x-image-process=image/format,png)
公众号.png