1. 程式人生 > >Data Provider 中沒有.net framework Data provider for Mysql 的解決方法

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了,問題終於得到了解決