Visual Studio2017中如何讓ADO.NET實體數據模型[EntityFramework]支持MariaDB&MySQL數據源


近期由於工作需要,需要重新修改設計系統的ADO.NET實體數據模型.edmx文件中間,在完成實際中途遇到一些實際使用問題,特此記錄。

1. Visual Studio 2017 無法以實體設計模式打開MySQL&MaraiDB 相關.edmx 文件,出現如下錯誤:

  

  如何解決: 

 

     1.確保已安裝 Entity Framework 6工具

       如已安裝,則直接跳過1步驟,如未安裝,則通過 工具-->獲取工具和功能(修改Visual Studio)-->單個組件,勾選Entity Framework 6 工具,安裝即可。

     2. 安裝相應版本 Connector/Net 和 MySQL for Visual Studio  即可

   

 

   找到Visual Studio 2017 對應支持版本即可,這里我選擇的 mysql-for-visualstudio-1.2.7.msi & Connector/Net 6.9.11 安裝完畢之后重啟VisualStudio之后即可以設計模式打開MariaDB&MySQL對應的.edmx 文件

  PS:  

  1. 安裝是注意對照表中的版本進行安裝

  2. 如果找不到對應版本,可以嘗試點擊查看歷史版本,然后下載對應版本進行安裝

       

       3.安裝時注意選擇勾選:

       Connector/Net: 勾選 Enity Framework Support 

       mysql-for-visualstudio 勾選: Visual Studio Integration 和 指定Visual Studio版本的 Entity Framework Designer Intgration 

       如圖示:

  

     如不清楚如何處理,請選擇完整安裝即可。

 

 2. Visual Studio 2017 但是無法進行根據MySQL or MariaDB 數據庫進行更新實體模型等操作

   錯誤如下:找不到與之兼容的實體框架數據庫提供程序
 
 
 
 如何解決:
  使用Nuget添加對應的Entity Framework, MySql.Web,MySql.Data,MySql.Data.Entity包即可。
  我這里添加的版本為:Entity Framework 6.1.3,MySql.Web 6.9.11,MySql.Data 6.9.11,MySql.Data.Entity 6.9.11 
  添加完畢后,重新生成項目即可進行:從數據庫更新實體等操作,如圖:以可進行實體更新等操作
 
  
PS:
   1. 這里的這里的Nuget包版本一定要與之對應,否則也可能會造成無法識別提供程序等錯誤
   2. 安裝Nuget包時,最好手動將原來的錯誤的依賴刪除后,重新使用Nuget進行添加,並重新生成項目。
 
這里在使用EntityFramework 6.1.0 及以上包 + MySql.6.9.9 系列包時,將出現無法識別提供程序等錯誤,使用MySql 6.9.11 系列包時正常使用,無錯誤發生。

 

       

   

 

  

 


免責聲明!

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



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