记录一次环境搭建的过程以及出现的问题和解决方法。
编译器Visual Studio 2017Enterprise Edition
1.新建一个MVC应用程序
2.在新建的MVC程序中选择Models ->添加->新建项
选择数据->ADO.NET实体数据模型->来自数据库的EF设计器->新建连接
在默认情况下,第三项“MySQL Database”是不存在的,这时候需要添加mysql与visual studio连接的驱动。
3.驱动连接方法
1> 确认ODBC驱动,在控制面板->所有控制面板项->管理工具 中查看ODBC数据源64位。
确认图中两驱动是否存在。假如不存在,去官方下载:https://dev.mysql.com/downloads/connector/odbc/ 安装,完成后,重新打开 ODBC数据源,确认驱动情况,最好重启。
2>安装 mysql-for-visualstudio.msi
这里安装的版本是:mysql-for-visualstudio-1.2.7.msi
3> 安装mysql-connector-net.msi
这里安装的版本是:mysql-connector-net-6.6.6.msi,一开始安装的其他两个版本6.10.5和6.9.9均无效。
所有都安装完成后,重启,打开Visual Studio,就可以看到MySQL Database数据源了,然后进入连接属性(连接之前需要如果MySQL服务器没有启动,则需要先进入services.msc启动MySQL服务)。
4、进入实体数据模型向导
选择需要创建模型的数据表,直接连接的话报以上错误,这时的解决办法是:
1> 运行services.msc,重启MySQL服务。
2> 在MySQL运行一下命令: use mydbname; set global optimizer_switch='derived_merge=OFF';
3> 重新生成 .edmx
成功后即看到Models下面生成的实体数据模型
5、添加控制器
选择Controllers->添加->控制器
选择EF框架的控制器。
接下来如果选择默认的数据上下文类,报如下错误。
解决方法是:
1>Nuget包管理器运行 Install-Package Microsoft.aspnet.Web.Optimization
2>安装了这个:EF6 实体框架EntityFramework.SqlServerCompact,如下图
3>重新生成解决方案,在数据上下文类中新建一个上下文类型。
添加后的文档如下: