使用VS2013 + EF6 + .NET4.5 連接Mysql資料庫 使用VS2013 + EF6 + .NET4.5 連接Mysql資料庫 1、安裝插件 在使用Visual Studio 2013添加ADO.NET實體數據模型新建連接時,預設是沒有Mysql選項的。此時我們需要安裝兩個東西: 1 ...
使用VS2013 + EF6 + .NET4.5 連接Mysql資料庫
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、按圖操作,添加實體數據模型:
2.2、一切進展貌似都很順利。接下來你可能會看到Visual Studio給出瞭如下的提示:
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
每個命令輸入之後按回車執行,你會發現前兩個都很順利,但是第三個卻報錯了:
此時我們不通過NuGet添加這個引用,具體步驟為將MySQL Connector Net 6.8.3\Assemblies\v4.5(視你的項目使用的.net版本而定,我的是.net 4.5)下的所有dll文件引用進來。我的機器上安裝目錄如下:
全部引用
然後在應用程式配置文件中添加:<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、繼續下麵的步驟,成功。
2.5、以後在創建實體模型的項目中,只要引用MySql.Data.dll和MySql.Data.Entity.EF6.dll兩個dll就可以了。
以上總結由網上摘取和個人總結,謹以此作為筆記,如有侵權敬請告知。