EF6使用Mysql,踏過的那些坑

2022-01-09 21:45:59 字數 4387 閱讀 2558

在vs2013中使用mysql連線entityframework經常會遇到這個問題:您的專案引用了最新實體框架;但是,找不到資料連線所需的與版本相容的實體框架資料提供程式。請退出此嚮導,安裝相容提供程式,重新生成您的專案,然後再執行操作。

在vs中 使用mysql的問題多的會讓人蛋疼。在這裡給個妥妥的一條龍解說哈。

《無耐心看過程講解的可直接看最下面》

在建立實體模型的時候  資料來源選項很可能沒有mysql database,這問題很容易解決,只需要安裝 mysql-for-visualstudio 即可解決,這裡推薦版本是 mysql-for-visualstudio-1.2.3 。 還需要安裝乙個 mysql connector/net , 我們來看一看來自官網的介紹:mysql 官方的 .net 驅動程式,mysql 官方的 .net 客戶端開發包。mysql 資料庫最新版dotnet資料庫連線驅動。 所以 顯而易見,這個程式必須裝上,這裡推薦版本是 mysql-connector-net-6.8.3 。 ps: 這裡提醒下,這個版本不是越高的越合適,得配合你mysql.data 的版本,目前大部分是使用mysql.data version 6.8.3 這版本。 如果安裝高於 mysql-connector-net - 6.8.3 版本 , 安裝後會修改vs下的machine.config :

以上**未找到具體位置,此處略過

這裡是安裝6.8.3 版本後 修改的machine.config 

安裝6.9.4版本,會時 newversion = "6.9.4"  會導致很多後期問題:例如 引用問題 : could not load file or assembly 'mysql.data, versio=6.8.3'   錯誤號 : 0x80131040 這樣的程式集不匹配問題,在很多論壇上都看到過這個問題,造成的辦法也大多是因為machine.config 被修改,強制指向高版本,導致的程式集不匹配。 

當然這裡如果通過手動修改machine.config 解決這個問題,可以一時解決,但是會引起後期很多不必要的問題, 所以建議直接安裝 mysql-connector-net - 6.8.3

這個坑未碰到

這個錯誤的解決方案 網上的答案可以說是 眾多紛紜 奇葩朵朵開啊。 其實解決方案很簡單,人家都說了,找不到資料連線所需的與版本相容的實體框架資料提供程式。

這裡需要先安裝nuget 管理器 

在 - 工具 - 庫程式包管理器 - 程式包管理器控制台 這裡 預設專案, 在pm>後 輸入 

install-package entityframework -version 6.0.0

install-package entityframework.zh-hans -version 6.0.0

install-package mysql.data.entity.ef6

每一句輸完 回車執行

這時候在providers 裡 新增乙個mysql.data.mysqlclint節點, 這個步驟很重要。

效果如下

(這個地方按道理引用後會自動加上的,如果沒有手動加一下吧)

到了這一步 ,重新生成一下方案  妥了!

哈哈 不是微軟的親兒子就是事多!

這裡是個小總結。給急性子的朋友看:

需安裝:

mysql-for-visualstudio-1.2.3 

mysql-connector-net - 6.8.3

nuget 包管理器

nuget 控制台輸入

install-package entityframework -version 6.0.0

install-package entityframework.zh-hans -version 6.0.0

install-package mysql.data.entity.ef6(這一步一直提示安裝不成功,最後直接引用了mysql-connector-net - 6.8.3 安裝目錄下的,如下圖)必須要重視的是,版本很重要,版本很重要,版本很重要,版本很重要,一定不能高

在.config 的providers 加乙個節點

在vs2013中使用mysql連線entityframework經常會遇到這個問題:您的專案引用了最新實體框架;但是,找不到資料連線所需的與版本相容的實體框架資料提供程式。請退出此嚮導,安裝相容提供程式,重新生成您的專案,然後再執行操作。

在vs中 使用mysql的問題多的會讓人蛋疼。在這裡給個妥妥的一條龍解說哈。

《無耐心看過程講解的可直接看最下面》

在建立實體模型的時候  資料來源選項很可能沒有mysql database,這問題很容易解決,只需要安裝 mysql-for-visualstudio 即可解決,這裡推薦版本是 mysql-for-visualstudio-1.2.3 。 還需要安裝乙個 mysql connector/net , 我們來看一看來自官網的介紹:mysql 官方的 .net 驅動程式,mysql 官方的 .net 客戶端開發包。mysql 資料庫最新版dotnet資料庫連線驅動。 所以 顯而易見,這個程式必須裝上,這裡推薦版本是 mysql-connector-net-6.8.3 。 ps: 這裡提醒下,這個版本不是越高的越合適,得配合你mysql.data 的版本,目前大部分是使用mysql.data version 6.8.3 這版本。 如果安裝高於 mysql-connector-net - 6.8.3 版本 , 安裝後會修改vs下的machine.config :

以上**未找到具體位置,此處略過

這裡是安裝6.8.3 版本後 修改的machine.config 

安裝6.9.4版本,會時 newversion = "6.9.4"  會導致很多後期問題:例如 引用問題 : could not load file or assembly 'mysql.data, versio=6.8.3'   錯誤號 : 0x80131040 這樣的程式集不匹配問題,在很多論壇上都看到過這個問題,造成的辦法也大多是因為machine.config 被修改,強制指向高版本,導致的程式集不匹配。 

當然這裡如果通過手動修改machine.config 解決這個問題,可以一時解決,但是會引起後期很多不必要的問題, 所以建議直接安裝 mysql-connector-net - 6.8.3

這個坑未碰到

這個錯誤的解決方案 網上的答案可以說是 眾多紛紜 奇葩朵朵開啊。 其實解決方案很簡單,人家都說了,找不到資料連線所需的與版本相容的實體框架資料提供程式。

這裡需要先安裝nuget 管理器 

在 - 工具 - 庫程式包管理器 - 程式包管理器控制台 這裡 預設專案, 在pm>後 輸入 

install-package entityframework -version 6.0.0

install-package entityframework.zh-hans -version 6.0.0

install-package mysql.data.entity.ef6

每一句輸完 回車執行

這時候在providers 裡 新增乙個mysql.data.mysqlclint節點, 這個步驟很重要。

效果如下

(這個地方按道理引用後會自動加上的,如果沒有手動加一下吧)

到了這一步 ,重新生成一下方案  妥了!

哈哈 不是微軟的親兒子就是事多!

這裡是個小總結。給急性子的朋友看:

需安裝:

mysql-for-visualstudio-1.2.3 

mysql-connector-net - 6.8.3

nuget 包管理器

nuget 控制台輸入

install-package entityframework -version 6.0.0

install-package entityframework.zh-hans -version 6.0.0

install-package mysql.data.entity.ef6(這一步一直提示安裝不成功,最後直接引用了mysql-connector-net - 6.8.3 安裝目錄下的,如下圖)必須要重視的是,版本很重要,版本很重要,版本很重要,版本很重要,一定不能高

在.config 的providers 加乙個節點

SQLite使用EF6的連線配置

1.使用nuget安裝sqliteinstall package system.data.sqlite安裝好後的依賴項有 如果沒有安裝全,則需要手動安裝需要的dll 2.安裝時會自動配置配置檔案。配置好的檔案如下 注意 configsections配置節一定要在connectionstrings節之...

VS2013使用EF6與mysql資料庫

您的專案引用了最新實體框架 但是,找不到資料鏈結所需的與版本相容的實體框架資料庫 ef6使用 mysql的技巧 在vs2013中使用mysql連線entityframework經常會遇到這個問題 您的專案引用了最新實體框架 但是,找不到資料連線所需的與版本相容的實體框架資料提供程式。請退出此嚮導,安...

VS2013使用EF6與mysql資料庫

您的專案引用了最新實體框架 但是,找不到資料鏈結所需的與版本相容的實體框架資料庫 ef6使用mysql的技巧 在vs2013中使用mysql連線entityframework經常會遇到這個問題 您的專案引用了最新實體框架 但是,找不到資料連線所需的與版本相容的實體框架資料提供程式。請退出此嚮導,安裝...