vs for mac 中用.net core技術(shù)創(chuàng)建mvc+ef項(xiàng)目

.Net Core 出來了很久,作為一個(gè).Net的忠實(shí)信徒,卻這么久沒有去觸碰它,實(shí)在慚愧,最近呢,在學(xué)習(xí)Nodejs,Linux Shell腳本,Java開發(fā),列式存儲(chǔ)數(shù)據(jù)庫,這也是沒辦法,畢竟吃飯要緊,公司讓做什么,那就去學(xué)習(xí)什么,最后發(fā)現(xiàn)學(xué)成了學(xué)富半車,什么都入了門,但是啥都不同,也就是擦個(gè)邊球,連最愛的.net都好久沒有去寵幸了,感覺我倆已經(jīng)陌生了許多,今天突然起興,看看這個(gè).NET

CORE到底如何傾國傾城,首先呢,說明下,我在虛擬機(jī)中安裝了win10,因?yàn)槲沂莔ac系統(tǒng),當(dāng)然筆記本是公司的,我可沒有錢買這個(gè)東東,win10 在去年已經(jīng)安裝了vs2017,只是偶爾需要程序處理下數(shù)據(jù),所以用最熟悉的c#去完成,感覺vs沒啥大變化,今天我要試試vs for mac到底如何呢,來來來,我們一起去看看,mac版的vs如何安裝,我就不說了,你們百度,有很多人都貼圖說明了,我覺得這種教程沒啥意義了,當(dāng)然今天我要寫的可能也沒啥,但是確實(shí)我遇到了,所以我要說下,作為筆記,萬一我以后又遇到了忘了咋辦,好了,說下我要干什么,很簡單

1,創(chuàng)建一個(gè)mvc項(xiàng)目

2,創(chuàng)建EF數(shù)據(jù)庫模型(dbfirst,因?yàn)槲液軕校?/p>

3,mvc+ef結(jié)合查詢數(shù)據(jù),展示出來

好了就這么簡單,我們開始吧!

首先創(chuàng)建一個(gè)mvc項(xiàng)目,這個(gè)很簡單,我也貼圖示意下:

打開vs for mac,樣子還是很小清新的,我喜歡。

創(chuàng)建項(xiàng)目,.Net Core -> App -> Asp.Net CoreWeb App (MVC)? 選好了就下一步吧!

給自己的項(xiàng)目起個(gè)牛逼的名字,就像你有了自己的兒子,給他起個(gè)很牛逼的名字一樣。

MVC項(xiàng)目就這樣創(chuàng)建好了,看看我們的左邊項(xiàng)目結(jié)構(gòu),是不是和傳統(tǒng)的項(xiàng)目很像,特別喜歡.net的項(xiàng)目結(jié)構(gòu),非常清晰,不像java似的亂七八糟的,我不是說java技術(shù)不好,我只是說java的結(jié)構(gòu)設(shè)計(jì)怎么可以這么亂,不能改進(jìn)下嗎?開發(fā)一味的追求繁瑣復(fù)雜,有意思的嗎?科技的進(jìn)步就是為了讓事情做起更簡單,如果更復(fù)雜了,是不是有悖我們的初衷呢,所以,大愛.net.么么噠!

我們二話不說,運(yùn)行下看看

完美運(yùn)行,而且還是響應(yīng)式的網(wǎng)頁,此刻應(yīng)有掌聲(啪啪啪)

至于項(xiàng)目結(jié)構(gòu)中有很多配置文件是我們沒見過的,這里呢很慚愧,我剛接觸,還是不是很清楚,所以,我就不瞎說了,下面我們繼續(xù)創(chuàng)建EF-DBFIRST

首先,我們先創(chuàng)建數(shù)據(jù)庫,我這里用SqlServer數(shù)據(jù)庫,我只能在另一臺(tái)機(jī)器創(chuàng)建了。

這是我的數(shù)據(jù)庫,兩個(gè)表作為例子,一個(gè)User代表用戶,一個(gè)Post,表示用戶的帖子。好了下面我們回到vs上,繼續(xù)創(chuàng)建我們的EF吧!首先先創(chuàng)建一個(gè)EF文件夾,我們創(chuàng)建的EF就會(huì)在這里生成。下面才是干貨

通過NuGet添加引用工具包,下面是列表

Microsoft.EntityFrameworkCore.Design

Microsoft.EntityFrameworkCore.SqlServer

Microsoft.EntityFrameworkCore.SqlServer.Design

Microsoft.EntityFrameworkCore.Tools

Microsoft.EntityFrameworkCore

右擊Dependencies后點(diǎn)擊Add Packages…

然后搜索Microsoft.EntityFrameworkCore,在搜索結(jié)果中找到這幾個(gè)包選中,根據(jù)自己.Net core 的版本選擇相應(yīng)的版本,然后就添加吧!過程中會(huì)彈出一些詢問窗口,接受就好了,反正不接受,你就不能用!

這個(gè)弄好了以后,不要著急,還沒完事,下面右擊項(xiàng)目,選擇Tools然后點(diǎn)擊Edit File,就看到了xml文件,好了我們簡單的修改下,如下圖

在圖中所示地方添加紅框子里的這句話,方便你們復(fù)制,我在這里也貼一下。

<DotNetCliToolReference?Include="Microsoft.EntityFrameworkCore.Tools.DotNet"?Version="2.0.0" />

保存好了嗎?我們繼續(xù)右擊項(xiàng)目打開終端,Tools中的Open in Terminal,在彈出的終端中輸入dotnet ef試試。如果是下圖,恭喜你,成功了一半了!

當(dāng)讓我最開始可不是顯示這個(gè),如果你和我一樣遇到了這種情況

如果提示你

Version for package `Microsoft.EntityFrameworkCore.Tools.DotNet` could not be resolved.

這句話,也不用擔(dān)心,我也解決了,我在這個(gè)網(wǎng)頁中找到的答案

https://stackoverflow.com/questions/43375734/version-for-package-microsoft-entityframeworkcore-tools-dotnet-could-not-be-re

有時(shí)間你可以看看。

人家說,用了這個(gè)東西,需要restore一下,所以在終端先輸入“dotnet restore”然后在試試dotnet ef然后就可以了!

好了,我們現(xiàn)在可以創(chuàng)建我們的EF模型了。

在終端輸入

"dotnetef dbcontext scaffold "data source=192.168.1.101;initial catalog=MyWebDB;userid=sa;pwd=sa;" Microsoft.EntityFrameworkCore.SqlServer -c MyWebDBEntities-oEF"

當(dāng)然數(shù)據(jù)庫ip是你自己的,名字也是你自己的,密碼也是,最后有個(gè)-c參數(shù)表示生成的EF名字,-o參數(shù)是創(chuàng)建在哪個(gè)目錄下,還記得我們創(chuàng)建了EF文件夾嗎?這里用到了,好了我們?cè)囋嚢桑∵@個(gè)過程我們需要等一小會(huì),如果沒有提示任何問題,那么我們就成功了80%,歐耶?。?!

這是創(chuàng)建完EF文件夾下的文件,好了,我們可以寫點(diǎn)小程序運(yùn)行下了!

在Controllers文件夾中創(chuàng)建一個(gè)TestControllers.cs控制器文件

這是Index中的代碼

在Views中創(chuàng)建Test文件夾,再創(chuàng)建index.cshtml視圖文件

好了,我們?cè)谶\(yùn)行吧,把路徑后面加上/Test就好了

這就是效果!

好了,就寫到這里吧!我知其然,未知其所以然,所以能,大家可以提問題,我會(huì)去研究提高的!謝謝閱讀!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • .net Core Migration 步驟 參考代碼地址:https://github.com/BBMMRunL...
    bbmm閱讀 1,309評(píng)論 0 1
  • Contoso 大學(xué)示例 Web 應(yīng)用程序演示如何使用實(shí)體框架(EF)Core 2.0 和 Visual Stud...
    程序員長春閱讀 3,091評(píng)論 0 1
  • 《圖解 HTTP》 讀書筆記 HTTP 在哪里 網(wǎng)絡(luò)設(shè)備之間,包括計(jì)算機(jī)與網(wǎng)絡(luò)設(shè)備之間要互相通信,那么雙方必須要基...
    要上班的斌哥閱讀 1,106評(píng)論 0 17
  • 在命令行配置參數(shù) 使用jar包啟動(dòng)的時(shí)候,參數(shù)必須以 -- 開頭參數(shù)放在結(jié)尾,或者使用-D開頭,參數(shù)放在開始才符合...
    tenlee閱讀 1,834評(píng)論 0 0
  • 太過自我了,不好。沒有了自我,也不好。如果說前者是屬于個(gè)性,那么后者應(yīng)該是屬于秉性。而且個(gè)性本就應(yīng)該是屬于秉性的范...
    白樺i閱讀 222評(píng)論 0 0

友情鏈接更多精彩內(nèi)容