Vs2013 使用EF6 連接mysql數據庫


最近在使用MySQL數據庫,在使用EF框架連接MySQL數據庫時發現了一個問題,使用DB First創建實體對象的時候會出現如下圖的錯誤:您的項目引用了最新版實體框架….. (如下圖)或者會出現新建實體對象模型時閃退。

 

出現此問題的原因應該是由於 mysql-for-visualstudio 和 mysql-connector-net 和EF框架兼容問題。

解決此問題的辦法:

從MySQL官網下載最新版本的mysql-for-visualstudio 和 mysql-connector-net;

我這里使用的是 mysql-connector-net-6.9.9 和mysql-for-visualstudio-1.2.6;

 

對應下載地址:

mysql-for-visualstudio-1.2.6 地址:

http://cdn.mysql.com//Downloads/MySQL-for-VisualStudio/mysql-for-visualstudio-1.2.6.msi

mysql-connector-net-6.9.9下載地址:

http://cdn.mysql.com//Downloads/Connector-Net/mysql-connector-net-6.9.9.msi

安裝完成之后使用NuGet包管理器引入Mysql.Data 和 MySql.Data.Entity 對應版本都是6.6.9的。

使用NuGet引入包之后Web.config 會自動更新 (下面是我的web.config)

 <entityFramework>

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

      <parameters>

        <parameter value="v12.0" />

      </parameters>

    </defaultConnectionFactory>

    <providers>

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

      <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider>

    </providers>

  </entityFramework>

  <system.data>

    <DbProviderFactories>

      <remove invariant="MySql.Data.MySqlClient" />

      <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />

    </DbProviderFactories>

  </system.data>

接下來新建ADO.NET實體數據模型

 

選擇數據庫優先

 

配置連接信息

 

選擇MySql Database 配置對應的服務器地址、用戶名、密碼;

選擇對應的數據庫,進行測試連接之后確定即出現熟悉的界面(選擇數據庫對象)。

 

  

在vs2013下使用EF6連接MySQL配置成功完成。

在vs下連接非微軟的數據庫是有些麻煩,不過熟悉之后覺得也可以理解。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM