ASP.net MVC 连接MySql 数据连接方式及异常处理(这里为EF连接),需正确安装mysql数据库成功后:
第一步:新建一个VS中新建一个MVC项目
第二步:在项目中新建一个文件夹(取决自己是否建立),
1.新建一个ADO.NET实体数据模型
2.选择来自数据库的EF设计器:
3.若没了这个连接,则需要安装mysql-for-visualstudio-1.2.7.msi和mysql-connector-net-6.9.10.msi,这两个非常重要
mysql-for-visualstudio-1.2.7.msi:翻译版
用于Visual Studio的MySQL使用Microsoft Visual Studio提供对MySQL对象和数据的访问。MySQL for Visual Studio提供:
- 设计时间支持
- 查询设计器
- 存储例程调试
- 实体框架
下载地址:https://dev.mysql.com/downloads/windows/visualstudio/
mysql-connector-net-6.9.10.msi :翻译版
Connector / Net是用于MySQL的完全托管的ADO.NET驱动程序。
从版本6.7开始,Connector / Net将不再包含用于Visual Studio集成的MySQL。该功能现在可以在名为MySQL for Visual Studio的独立产品中使用MySQL安装程序(Windows版)使用。
下载地址:https://dev.mysql.com/downloads/connector/net/6.9.html
针对mysql-connector-net-6.9.10 特别说明一点再对项目右击NuGet包管理时,安装MySql.Data、MySql.Data.Entity时,必须选择与mysql-connector-net-6.9.10 相同的版本(解决方法来至:https://www.cnblogs.com/Imaigne/p/4153397.html),如果MySQL Database没出现或出现后又没了,可以卸载mysql-connector-net-6.9.10后,再重新安装一次。
不选相同的版本时,进行下一步时可能将出现,以下错误:
以上都没有问题后,连接到数据库取表,马上要完成操作时(我自己的问题已经解决了,当时没有截图,所以借这张报错的图来源是:http://blog.csdn.net/cnhk1225/article/details/55806103,这里也有解决方案,不过我看到的是来源这里的一个解决方法:https://stackoverflow.com/questions/33575109/mysql-entity-the-value-for-column-isprimarykey-in-table-tabledetails-is):
解释以下解决方案:
1. Open Services (services.msc) and restart MySQL57 service.//启动数据MySql57数据库
2. Execute the following commands in MySQL.//登陆到数据库,执行以下命令
use <<database name>>;//打开数据库
set global optimizer_switch='derived_merge=OFF';//执行MYSQL命令
3. Update the .edmx.//更新VS中的数据模型浏览器,这一步是针对你已经添加成功一次EF设计器的情况下,如果没有成功过,则无需这一步。
以上异常都解决完,应该就能成功的创建出EF设计模型了(如果不行,加油上网查资料去吧)。
第三步:再Models中创建一个类,用于接受EF模型返回回来的数据库数据,再把这个数据显示到前天完成MVC EF框架。
结尾:来几句结束语,第一次写博客不知道写的好不好,执行为了打这个框架用了挺多时间的,很多问题都是分散的又需要一一测试是否可行,哎真是一件痛苦的事情,所以想把这些问题解决方法分享出来,希望可以帮助到别人。谢谢