1. 程式人生 > >Mysql+EF6建立實體踩過的坑坑

Mysql+EF6建立實體踩過的坑坑

以前我自己的專案一直用的是SQL+EF實體,很順利沒有出現什麼的問題,最近接手的一個專案是Mysql的資料庫,而且已經建好了,也懶得把資料庫再導到SQL Server中去了,想嘗試一下Mysql+EF,也許有人會說EF這麼底的效率,怎們就不明白會有那麼的人去用它,EF是存在不靈活等等的缺點,但是他也有優點那,省的寫那麼多sql語句,對於有技術潔癖的我來說,反正我就是不想看到那麼多sql語句,另外還有一點最重要,讓別人看不懂啊,好裝B嘛。廢話少說,進入正題:

環境:

系統:win10 64位

vs版本:2013

Mysql版本:5.7

問題1:

沒有“Mysqldatabase”選型

解決辦法:

這個解決辦法的部落格很多,這裡列出一個詳細的:

我就不再介紹了,不過我建議你看完後在去測試。

問題2:

一點選“下一步”就會閃退

這個問題的解決辦法有很多我列出個參考:

起初我也是按上面的步驟實施,仍然是不行,慢慢的我發現了問題,那就是版本是否對應,因為我現在再Mysql官網上看到Connector/Net的最新版本是6.10.6,沒想就下載安裝了,然後通過Nuget管理安裝Mysql.Data.Entity和Mysql.Data,還有EntityFramework 6.2.0 (不要忘了這個),這個得提一下,如果你使用的是VS2013請更新到最新版本,要不再Nuget中搜索沒有反應.全部安裝完後,就會出現閃退現象,恭喜你跟我一樣,請繼續看下去:

第一步:

你通過路徑

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies裡面檢視Mysql.data.dll,MySql.Data.Entity.EF6.dll和MySql.Web.dll 的版本,別告訴我你不會產看,如果你的Mysql版本號跟Mysql官網的mysql-connector-net的版本號一致的話,你直接從官網下載,如果不一致官網又不提供的話,你要通過網路下載,我的就不一致,所以我從網站上下載mysql-connector-net-6.9.8.msi,並安裝。當然我也試過將高版本的Mysql.Data.dll 檔案將c盤裡面的替換掉,但是出現的閃退跟突然了,無奈重新該回去。

VS2013 內部整合的Mysql版本:

Mysql.data.dll -Version 6.9.8.0

MySql.Data.Entity.EF6.dll -Version 6.9.8.0

MySql.Web.dll -Version 6.9.8.0

VS2015 內部整合的Mysql版本可能比這個高,具體我也不知道,需要自己檢視。

第二步:

通過在vs中”程式包管理器控制檯“的輸入命令來實現下載和安裝所需版本的Mysql.data和Mysql.Data.Entity.EF6,命令如下:

Install-Package EntityFramework -Version 6.0.0
Install-Package EntityFramework.zh-Hans -Version 6.0.0

Install-Package MySql.Data.Entity.EF6

每一句要回車一下,等待安裝完成,但在安裝Install-Package MySql.Data.Entity.EF6是會出現問題,這時你需要將Mysql.data.dll和Mysql.Data.Entity.EF6.dll引用到專案中,引用可以瀏覽到路徑C:\Program Files (x86)\MySQL\MySQL Connector Net 6.9.8\Assemblies\v4.5中新增,也可以在程式中搜索程式集引用,版本必須和Vs檔案下的一致。

第三步:

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

<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6"></provider>

效果如下

<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6"></provider>
</providers>

問題3:

出現這個問題,是因為EntityFramwork安裝的版本太高,需要降級版本,在VS中的程式包管理器控制檯“的輸入命令:

Install-Package EntityFramework -Version 6.0.0

Install-Package EntityFramework.zh-Hans -Version 6.0.0

就可以實現了,後面的版本根據需要改動,我當時下載的最新版6.2.0,結果就出現錯誤,改成6.0.0就可以了。

至此基本解決了問題,但是又出現了問題,那就是匯入的實體不全,哎接著倒騰把!


相關推薦

Mysql+EF6建立實體

以前我自己的專案一直用的是SQL+EF實體,很順利沒有出現什麼的問題,最近接手的一個專案是Mysql的資料庫,而且已經建好了,也懶得把資料庫再導到SQL Server中去了,想嘗試一下Mysql+EF,也許有人會說EF這麼底的效率,怎們就不明白會有那麼的人去用它,EF是存在不

利用pandas的to_sql將資料插入MySQL資料庫和所

前言 最近做一個Django web的專案要把爬取的一些資料存入MySQL中,資料儲存為csv格式,想到pandas中有to_sql這個方法,就採用它了 準備:連線MySQL資料庫所需的第三方包pymysql、sqlalchemy(pip安裝即可) 實現 from sql

MySQL(一)MySQL的啟動或鏈接失敗

mysql數據庫 ror 解決 sock 數據 關閉 roo 拋出異常 RR 有時候用命令mysql -u root -p 或者服務器啟動mysql數據庫的時候,會出現拋出異常並失敗。 以下是遇過的異常。 1、1)拋出的異常:出現ERROR 2002

配置nginx與php-fpm,(附裝nginx,php-fpm,mysql,redis教程)

近來在centos7上搭建了lnmp的環境,遇到了個坑。如果沒有裝nmp的話可以看這個文章 https://blog.csdn.net/qq_39677681/article/details/82025445 我所遇到的坑: 要讓php-fpm能正常在伺服器上正常解析php,要配置這兩個

SpringBoot整合quartz動態建立定時任務實現以及

需要了解一下quartz有Job,Scheduler,Trigger等概念,在此就不詳細說明 首先說一下功能需求場景 該提醒可以在頁面上進行配置多個,比如可以配置一個提醒:在每天的12點,傳送郵件給某個人,可以繼續配置另外一個提醒:在每個月的10號,給某個人

記錄用VMware建立cloudera的整合虛擬環境時---打不開vmx檔案

前言:由於最近在打算學習Hadoop的整合虛擬環境和Linux作業系統,便開始安裝虛擬機器準備著學習環境,可是中間卻跳入了很多坑,於是上網搜啊,請教前輩之類的,都沒有弄好,後來無意中點的, 竟成了。 只是記錄下中間過程。 我的問題: 直接在vmware裡開啟虛擬機器檔案出

Windows安裝和啟動MySQL && !!!

以上兩種執行mysql install的方式都會提示"Service successfully installed",但是採用第二種方式安裝成功之後,到第5步執行的時候會失敗,提示“系統找不到指定的檔案”,經排查發現採用該方式進行安裝的服務指定的執行檔案路徑為:C:\Program Files\MySQL\M

CocoaPod程式碼庫建立,配置Spec

1、程式碼中包含靜態庫 s.vendored_libraries = '/Pod/Classes/*.a'官方文件:https://guides.cocoapods.org/syntax/podspec.html#vendored_libraries 2、ARC工程

這些年MySQL表設計

本文首發於個人微信公眾號《andyqian》,期待你的關注! 前言 有朋友在後臺留言。希望我能說說我在資料庫表設計時踩過的坑。那麼,我們今天就來聊聊我在資料庫表設計時踩過的坑,以及現在對資料庫表設計的一點建議。希望能夠幫助到你。 utf8的鍋 場景 : 之前在給客

建立優化的Go映象檔案以及

在Docker上建立Go映象檔案並不困難,但建立的檔案很大,接近1G,使用起來不太方便。Docker映象的一個主要難題就是如何優化,建立小的映象。我們可以用多級構建的方法來建立Docker映象檔案,它也不復雜。但由於使用這種方法時,需要用簡版的Linux(Alpine),它帶來了一系列的問題。本文講述如何解決

多線程和異步編程示例和實踐-

round 推送 在線 png 很慢 main.c 服務容器 con slist 上兩篇文章,主要介紹了Thread、ThreadPool和TPL 多線程異步編程示例和實踐-Thread和ThreadPool 多線程異步編程示例和實踐-Task 本文中,分享兩則我們在

java使用默認線程池(二)

true 如何 vol private popu command row 由於 ges 雲智慧(北京)科技有限公司 陳鑫 是的。一個線程不可以啟動兩次。那麽它是怎麽推斷的呢? public synchronized void start() {

phpstorm配置xdebug

evel src ini 文件名 文件的 分享 傻傻 自動 配置文件 按網上的諸多教程, 1.下載對應文件,放在php放置執行文件的文件夾 2.更改php.ini文件。一搜,是哪個呢 原先記得好像沒有第一個文件,第二個文件名為,php.ini-development.上網

Mac 下安裝wxpython

blog res alt 指定版本 打開 png ces 點擊 source 一.下載   1.wxpython 下載地址:https://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/         

初學spring boot

9.png field ted require order false test boot mysql- 一、搭建spring boot環境   maven工程       pom文件內容 <project xmlns="http://maven

cocos2dx之WebView(android返回鍵處理問題)

lib mar 是否 12px blog tex clas ons 測試的   最近遊戲接入了一個私服平臺,由於沒有sdk,所以支付相關的操作需要在網頁端進行,也就是說點擊充值需要在遊戲內部彈出一個網頁,並定位到平臺充值的地址。查閱相關資料後決定使用cocos2dx自帶的W

總結Idea環境,吐血

你在 搜索 app 服務器 tomcat 點擊 path 詭異 服務 1)首先是JDK環境安裝,這一步千萬要出錯,我就是配錯了CLASSPATH導致了很詭異的問題。可能結果:就是RUN到tomcat不報錯,但是有404錯誤。 2)然後是IDEA安裝,這裏要十分註意如果你選擇

軟件測試曾經

密碼修改 tro 一個 不知道 勝任 兩個 賬號 bsp 提示 原文鏈接:https://www.zhihu.com/question/60591301/answer/209549333 軟件測試曾經踩過的坑? 1.自以為了解業務邏輯,實際浮於表面 這是個深坑

1.MySQL5.7.19 安裝配置

edi nor 切換 normal table 無法啟動 sql安裝 span 安裝配置 這篇文章主要是分享 安裝MySQL時遇到的一些問題,以及解決方法。 第一步:下載MySQL 下載地址:https://dev.mysql.com/downloads/mysql/5.1

前端開發工具Brackets介紹,安裝及安裝Emme插件時

module 文件 不想 現在 div 當前 user 沒有 -s   對於前端開發的園友來說有可能IDE工具有很多,層次不窮,還有每個人的喜好及習慣也不一樣,因為我是一名後端開發的.Net程序員,但是大家都知道,現在都提倡什麽全棧工程師,所以也得會點前端開發,所以我對於