Visual Studio 2013/2017 ASP.NET 項目使用 MySQL 數(shù)據(jù)庫的配置過程

前言

一直以來習(xí)慣在 ASP.NET 項目中使用 Entity Framework,長期來開發(fā)的項目一般都用了微軟自家的 SQL Server 數(shù)據(jù)庫,在 Visual Studio 中直接使用 SQL Server 是很簡單的。但是一些項目的需要會使用 Oracle 或者 MySQL,這里記錄下項目使用 Entity Framework 并使用 MySQL 的配置過程。

網(wǎng)上搜相關(guān)關(guān)鍵字會出現(xiàn)一大堆教程,但是也五花八門,一開始得到方法是,只需要使用 NuGet 安裝 MySql.Data.EntityMySql.Data 包即可,使用 NuGet 的好處是自動會在 Web.config 文件中創(chuàng)建相關(guān)配置節(jié)。這里參考的 [Entity Framework] MySQL @ Entity Framework 6 進行了手動添加。不過我的過程和這個有些出入。

安裝過程

安裝依賴包

按照上面說的方式,直接使用 NuGet 安裝 MySql.Data.EntityMySql.Data 包, Web.config 文件中也自動添加了如下配置節(jié):

<providers> 
    ...
    <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> 
<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>

報錯

我的項目中會使用 DB First 向?qū)Х绞絼?chuàng)建數(shù)據(jù)庫實體,一路下一步后會提示不兼容實體框架:

在上面的參考文章中,在 Web.config 文件中創(chuàng)建相關(guān)配置節(jié)后問題解決了。但我的項目是自動生成的,而且并沒有問題。

官網(wǎng)解決方案

在 MySQL 官網(wǎng)看到了一個 MySQL for Visual Studio 工具,讀了下安裝說明,照著安裝后問題解決了。

官網(wǎng)上的 MySQL for Visual Studio / Installing and Configuring 說了兩個比較關(guān)鍵的提示:

Note
Many MySQL for Visual Studio features require MySQL Connector/Net installed on the same system, and MySQL Connector/Net is a separate download. Install both using MySQL Installer.

需要同時安裝 MySQL for Visual Studio 和 MySQL Connector/Net。

Important
Always install MySQL for Visual Studio before installing MySQL Connector/Net.

MySQL Connector/Net 必須要在 MySQL for Visual Studio 安裝之后才能安裝。

按照官網(wǎng)的方法下載兩個安裝包安裝后,以上問題順利解決。

其他

創(chuàng)建數(shù)據(jù)庫連接可以注意如下選擇:

連接可以使用服務(wù)器資源管理器創(chuàng)建。

也可以在 connectionStrings 配置節(jié)中增加,形式如下:

<connectionStrings>    
    <add name="MySqlConnection" connectionString="server=localhost;user id=root;password=root;database=dbname" providerName="MySql.Data.MySqlClient" />
</connectionStrings>

總結(jié)

按照官方推薦的方案,ASP.NET 項目使用 MySQL 數(shù)據(jù)庫的配置如下,注意按照順序進行,同時,這里假設(shè)使用的是 Entity Framework ORM 方案,如果不用 Entity Framework,猜測只需要安裝 MySql.Data (未驗證)。

  1. 安裝 MySQL for Visual Studio
  2. 安裝 MySQL Connector/Net
  3. 使用 NuGet 安裝 MySql.Data.EntityMySql.Data
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容