Data Provider 中沒有.net framework Data provider for Mysql 的解決方法


近來做的一個項目中,數據庫用的是 MySql, 而在項目使用 Entity Data Model 來做數據服務層
,可是在項目中添加 Data Entty Model 時,一般我們都會選擇從數據庫中直接生成,可是在選擇
Data Provider 時,就是沒有 .net framework  Data provider for Mysql, 里面默認就只有一個

.net framework Data provider for SQL Server , 這個只能與 Microsoft 的 SQL server 或者 mssql server 連接,如果和 Mysql 連接就會出錯,接下來從數據庫生成 數據實體這一步就沒法做,工作進展就卡在了這了, 查詢了好多資料,折騰了一兩天,問題最終還是被解決了,可犧牲的是時間與效率,於是有了這篇博客,也是自己對這期間嘗試的總結。好了,不多說了,下面我把 具體的步驟列出,同時配有截圖:

在項目中右鍵單擊,添加新項:

 

2.選擇 Data--> Ado.net entity data model

 

3. 選擇從數據庫生成模型

 

4. 選擇數據來源

 

 

可 是在這一步中,原來的 Data provider 就只有珍上 net framework data provider for sql server ,那個 net framework data provider for mysql 是我自己加進去的,下來就是 水添加 net framework data provider for mysql 關鍵的一步:

下載並安裝 : mysql-installer-community-5.6.21.1

 

 

同時修改以下文件:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config 文件

  <system.data>
    <DbProviderFactories>

      <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.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </DbProviderFactories>
  </system.data>

PublicKeyToken 根據自己用的 MySql.Data.MySqlClient 的版本號來確定,在這里我用的是官網上最新的 6.9.5.0

重新啟動項目,並重新添加數據實體模型

 

這下就OK了,問題終於得到了解決

 


免責聲明!

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



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