近來做的一個項目中,數據庫用的是 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了,問題終於得到了解決