簡體   English   中英

MySql和Visual Studio 2013集成

[英]MySql and Visual Studio 2013 Integration

盡管我一直在使用Sql Server進行開發,但我想遷移到MySql的主要原因是由於某些客戶端需求。 因此,我在前端和業務邏輯上所做的所有開發都保持不變,我只想將數據庫翻轉到MySql。

我在使用Visual Studio(尤其是2013)遷移到MySql時遇到很多問題。花了幾天的時間弄清楚如何在其中使用擴展和實體模型。 盡管這幾乎是VS 2013特有的,但也可以輕松應用於2012年。

每個開發人員最想擁有的第一件事就是在您從MySql數據庫生成Model類或嘗試從IDE中管理數據庫的過程中,從Visual Studio中選擇MySql驅動程序,如鏡像所示。下面。

Visual Studio中的MySql驅動程序

但這距離正常范圍稍有距離,因為它是一個兩步過程。

  • 如果您沒有安裝MySql版本,我強烈建議您從http://www.wampserver.com/en/下載wamp安裝程序。 這將安裝mysql和apache服務,並且可以使用開始菜單快捷方式啟動。 默認情況下,它還在端口80上運行。 如果要更改端口,請編輯C:\\ wamp \\ bin \\ apache \\ Apache_version \\ conf \\ httpd.conf文件並將端口設置為Listen
  • 使用最新版本安裝用於.Net的MySql Connector。 當我使用它的時候,它是6.8.3版本,並且運行良好。 http://dev.mysql.com/downloads/connector/net/鏈接下載並安裝它。
  • 第二步是安裝MySql for Visual Studio,我使用的版本是當前的http://dev.mysql.com/downloads/windows/visualstudio/

    完成此操作后,您將能夠在模型生成器上看到MySql驅動程序。

    • 在您的項目中執行Install-Package Mysql.Data.Entities,它會在您的項目中自動安裝最新的mysql版本。
    • 替換以下找到的web.config條目:
<entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="v11.0" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
to the following.
<entityFramework>
    <providers>
      <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
    </providers>
  </entityFramework>
  <system.data>
    <DbProviderFactories>
      <remove invariant="MySql.Data.MySqlClient"></remove>
      <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.8.3.0" />
    </DbProviderFactories>
  </system.data>

我注意到的另一個錯誤是,當您-創建新的Ado .net實體模型時
-嘗試直接生成模型類,它表示Entity Framework提供程序是最新的,並且沒有用於生成mysql模型的必要驅動程序。

如果遇到此錯誤,-將Ado .Net實體模型創建為“空模型”-之后,嘗試使用連接和上下文名稱“從數據庫更新模型”-如果給出相同的錯誤,則重新構建/重新啟動Visual Studio 2013年和該項目。 相信我“它以這種方式工作”。

從Sql Server遷移到Mysql時,我遇到的另一個問題是小寫的表名(mysql中的默認表名),該表名最終會生成小寫的模型。 為避免這種情況,最后可以在C:\\ wamp \\ bin \\ mysql \\ mysql5.1.xx \\ my.ini文件中設置“ lower_case_table_names = 0”設置,然后重新啟動wamp。 這將在CamelCase中創建表,您可以快速從Sql Server遷移到MySql。

同樣,從數據庫生成模型時,有時EF向導可能會掛起。 為避免這種情況,如果您從Visual Studio內部的表中打開並檢索數據,則通常會解決此問題。

希望這可以幫助某人節省時間。 如果有人發現一些新的調整,請通過共享幫助我們。

我使用Visual Studio2012。正確的MySql安裝過程將幫助您避免任何此類錯誤。 至少這是我所做的。

下載並安裝Visual Studio 2012下載並安裝mysql-installer-community-5.6.17.0下載並安裝mysql-connector-net-6.8.3下載並安裝mysql-visualstudio-plugin-1.1.1順序很重要,每個項目也很重要。 右鍵單擊項目名稱后,打開Visual Studio並創建新項目,在解決方案資源管理器中添加MySql.Data的引用。查看服務器資源管理器添加新連接並正確填充空格在代碼的頂部,使用MySql.Data.MySqlClient添加

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM