今天准备写一个EF + Mysql的项目练手,采用EF+ Mysql + MVC + VS2017相关技术手段进行实践,期间遇到了一些问题,这里进行记录。
1、准备相关文件:
(1)mysql-connector-net-6.9.12.msi(官网下载)。
(2)mysql-for-visualstudio-1.2.8.msi(官网下载)。
(3)MySQL.Data和MySQL.Data.Entity(NuGet进行安装,必须与mysql-connector-net版本一致)。
2、建立一个MVC项目。
3、查看系统是否安装mysql-connector-net-6.9.12,注意版本号,如果没安装则官网下载。
4、查看系统是否安装mysql-for-visualstudio-1.2.8,注意版本号,如没有安装则官网下载。
注意,不同的mysql-for-visualstudio版本,支持不同的VS版本,如1.2.8可以支持到VS2017,但是有些低版本只能支持到VS2015。如果在新建数据库连接时,没有MySQL DataBase选项,就是mysql-for-visualstudio版本太低了。
另外,即使安装了支持VS2017版本,但是没有安装支持VS2017也会有问题。查看是否支持可以按以下方式:修改 >> next >> change >> 查看是否支持VS2017
5、安装MySQL.Data和MySQL.Data.Entity,注意,版本一定要和mysql-connector-net一致,否则会在建立实体模型的时候闪退。
6、建立实体模型。
右键Models >> 添加 >> 新建项 >> ADO.NET实体数据模型 >> 添加 >> 来自数据库的EF设计器 >> 下一步 >> 新建连接 >> 选择MySQL DataBase >> 继续 >> 填写连接属性 >> 选择是否包含敏感数据 >> 选择表
注意:这里如果下一步时,出现闪退,则要检查MySQL.Data和MySQL.Data.Entity版本。
完成后:
7、添加Controller。选择EF框架的控制器。
添加的时候可能报错。这时需要安装EF6 实体框架EntityFramework.SqlServerCompact。
最后结构:
到此一个简单的示例完成。