使用VS2013 + EF6 连接Mysql数据库

时间:2021-11-20 13:34:57

1、安装插件

在使用Visual Studio 2013添加ADO.NET实体数据模型新建连接时,默认是没有Mysql选项的。此时我们需要安装两个东西:

1、mysql-for-visualstudio:Mysql的Visual Studio插件,推荐1.2.3版本

2、mysql-connector-net:.net连接Mysql的程序,推荐6.8.3,版本。如果安装高版本可能导致一系列问题。详见:http://blog.csdn.net/niewq/article/details/41877301

2、新建ADO.NET实体数据模型

  2、1、按图操作,添加实体数据模型:

使用VS2013 + EF6 连接Mysql数据库

使用VS2013 + EF6 连接Mysql数据库

使用VS2013 + EF6 连接Mysql数据库

使用VS2013 + EF6 连接Mysql数据库

使用VS2013 + EF6 连接Mysql数据库

使用VS2013 + EF6 连接Mysql数据库

2.2、一切进展貌似都很顺利。接下来你可能会看到Visual Studio给出了如下的提示:

使用VS2013 + EF6 连接Mysql数据库

 2.3、解决方法:在NuGet的控制台输入以下命令:

Install-Package EntityFramework -Version 6.0.0
     Install-Package EntityFramework.zh-Hans
-Version 6.0.0
     Install-Package MySql.Data.Entity.EF6

每个命令输入之后按回车执行,你会发现前两个都很顺利,但是第三个却报错了:

使用VS2013 + EF6 连接Mysql数据库

此时我们不通过NuGet添加这个引用,具体步骤为将MySQL Connector Net
6.8.3\Assemblies\v4.5(视你的项目使用的.net版本而定,我的是.net 4.5)下的所有dll文件引用进来。我的机器上安装目录如下:

使用VS2013 + EF6 连接Mysql数据库

全部引用

使用VS2013 + EF6 连接Mysql数据库

然后在应用程序配置文件中添加:<provider invariantName="MySql.Data.MySqlClient"
type="MySql.Data.MySqlClient.MySqlProviderServices,
MySql.Data.Entity.EF6"></provider>

<?xml version="1.0"
encoding="utf-8"?>

<configuration>

<configSections>

<!-- For more information on Entity Framework configuration, visit
http://go.microsoft.com/fwlink/?LinkID=237468 -->

<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection,
EntityFramework, Version=6.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"
requirePermission="false" />

</configSections>

<startup>

<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />

</startup>

<entityFramework>

<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory,
EntityFramework" />

<providers>

<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices,
MySql.Data.Entity.EF6"></provider>

<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices,
EntityFramework.SqlServer" />

</providers>

</entityFramework>

</configuration>

然后,一定要重新生成项目!!!

  2.4、继续下面的步骤,成功。

使用VS2013 + EF6 连接Mysql数据库

2.5、以后在创建实体模型的项目中,只要引用MySql.Data.dll和MySql.Data.Entity.EF6.dll两个dll就可以了。

以上总结由网上摘取和个人总结,谨以此作为笔记,如有侵权敬请告知。