日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

EF选择Mysql数据源

發(fā)布時間:2023/12/9 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 EF选择Mysql数据源 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

EF添加ADO.NET實(shí)體模型處直接選擇Mysql數(shù)據(jù)源

最近想到EF是連接多數(shù)據(jù)庫的orm框架,于是就想測試下。查了一堆網(wǎng)上資料后,測試連接mysql成功。步驟如下:

1、在你項(xiàng)目Model層中nuget安裝MySql.Data.Entity

?

如果沒安裝這個provider 就進(jìn)行下面的步驟。就會出現(xiàn):

?

2、MySql官網(wǎng)下載mysql-installer-community-5.7.13.0

?

我這邊是沒安裝過mysql,所以是安裝全部,第一個選項(xiàng),MySql Installer。主要目的除了安裝mysql,就是安裝mysql對于vs的數(shù)據(jù)源驅(qū)動,便于我們在新建ADO.NET實(shí)體模型的時候,選擇對應(yīng)的數(shù)據(jù)源(MySQL Database)。

3、安裝好后,我這個傳說中的window程序員必須要下個圖形化管理界面。

?

然后里面新建個數(shù)據(jù)庫,測試用。

4、接下來就可以進(jìn)行測試?yán)?span style="font-family:Calibri;">~~~

首先在VS中新建個類庫,這個不多說了,新建項(xiàng)目-->ADO.NET實(shí)體模型

?

新建連接

?

更改數(shù)據(jù)源

選擇MySQL Database

Server name:localhost

用戶名密碼就不多說了。

然后就開始選擇表進(jìn)行實(shí)體映射,然后問題就出來了~~~

很奇怪哦,我們壓根沒這個TableDetails這個表,又哪兒來的主鍵類型為null。

百度!無所不能的網(wǎng)友給出了個解決問題的網(wǎng)址——>stakoverflow:

http://stackoverflow.com/questions/33575109/mysql-entity-the-value-for-column-isprimarykey-in-table-tabledetails-is

?

老外回答簡潔,靠譜。

根據(jù)這回答咋操作呢?直接扔截圖吧。

打開mysqlcmd窗口

use test;

set global optimizer_switch='derived_merge=OFF';

問題解決~~~~

這里注意(對于不熟悉mysql命令行的同志,比如我):結(jié)尾一定加分號!!!

上文測試用的數(shù)據(jù)庫test下的school表就映射成功勒

完美~~~

提問:對于oraclepostgresql,這些數(shù)據(jù)庫我也下載了,可能選擇更改數(shù)據(jù)源的時候沒有出來這些選項(xiàng),這是需要我們單獨(dú)去安裝的嗎?哪兒安裝?找不到....

?相關(guān)節(jié)點(diǎn)配置(個人紀(jì)錄):

1、UI的webconfig配置數(shù)據(jù)庫連接字符串肯定是少不了的。(連接字符串在我們Model層創(chuàng)建ADO.NET實(shí)體模型的時候就自動生成在了Model層的APPCONFIG中,拷貝過來即可)

<connectionStrings><!--mysql的數(shù)據(jù)庫連接字符串--><add name="MysqlEntities" connectionString="metadata=res://*/ModelMysql.csdl|res://*/ModelMysql.ssdl|res://*/ModelMysql.msl;provider=MySql.Data.MySqlClient;provider connection string="server=localhost;user id=joey;password=lovemary;persistsecurityinfo=True;database=test"" providerName="System.Data.EntityClient" /></connectionStrings>

2、nuget安裝MySql.Data.Entity只需在Model層中進(jìn)行,但是跟連接字符串一樣,得再webconfig中定義一個節(jié)點(diǎn),節(jié)點(diǎn)里面寫路徑方便程序去讀取相關(guān)信息。

在entityFramework節(jié)點(diǎn)下添加MySql.Data.MySqlClient(System.Data.SqlClient是我們在UI nuget EntityFramework的時候自動加載的,sqlserver的驅(qū)動信息)

MySql.Data.MySqlClient同樣我們在Model層nuget?MySql.Data.Entity后就加進(jìn)了APPCONFIG中,拷貝到UI的webconfig即可。(若嫌麻煩,就直接在UI層也nuget?MySql.Data.Entity,節(jié)點(diǎn)就自動加上去了)

<entityFramework><defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"><parameters><parameter value="mssqllocaldb" /></parameters></defaultConnectionFactory><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, Version=6.9.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /></providers></entityFramework>

?

  

如果您認(rèn)為這篇文章還不錯或者有所收獲,可以點(diǎn)擊右下角的【推薦】按鈕,因?yàn)槟愕闹С质俏依^續(xù)寫作,分享的最大動力! 作者:瑪麗的竹子 來源:http://www.cnblogs.com/joeymary/ 聲明:本博客原創(chuàng)文字只代表本人工作中在某一時間內(nèi)總結(jié)的觀點(diǎn)或結(jié)論。非商業(yè),未授權(quán),貼子請以現(xiàn)狀保留,轉(zhuǎn)載時必須保留此段聲明,且在文章頁面明顯位置給出原文連接。

?

轉(zhuǎn)載于:https://www.cnblogs.com/joeymary/p/5634262.html

總結(jié)

以上是生活随笔為你收集整理的EF选择Mysql数据源的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。