.Net Core 出來了很久组题,作為一個.Net的忠實信徒,卻這么久沒有去觸碰它抱冷,實在慚愧崔列,最近呢,在學(xué)習(xí)Nodejs徘层,Linux Shell腳本峻呕,Java開發(fā),列式存儲數(shù)據(jù)庫趣效,這也是沒辦法瘦癌,畢竟吃飯要緊,公司讓做什么跷敬,那就去學(xué)習(xí)什么讯私,最后發(fā)現(xiàn)學(xué)成了學(xué)富半車,什么都入了門西傀,但是啥都不同斤寇,也就是擦個邊球,連最愛的.net都好久沒有去寵幸了拥褂,感覺我倆已經(jīng)陌生了許多娘锁,今天突然起興,看看這個.NET
CORE到底如何傾國傾城饺鹃,首先呢莫秆,說明下,我在虛擬機中安裝了win10悔详,因為我是mac系統(tǒng)镊屎,當(dāng)然筆記本是公司的,我可沒有錢買這個東東茄螃,win10 在去年已經(jīng)安裝了vs2017缝驳,只是偶爾需要程序處理下數(shù)據(jù),所以用最熟悉的c#去完成归苍,感覺vs沒啥大變化用狱,今天我要試試vs for mac到底如何呢,來來來拼弃,我們一起去看看夏伊,mac版的vs如何安裝,我就不說了肴敛,你們百度署海,有很多人都貼圖說明了,我覺得這種教程沒啥意義了医男,當(dāng)然今天我要寫的可能也沒啥砸狞,但是確實我遇到了,所以我要說下镀梭,作為筆記刀森,萬一我以后又遇到了忘了咋辦,好了报账,說下我要干什么研底,很簡單
1,創(chuàng)建一個mvc項目
2透罢,創(chuàng)建EF數(shù)據(jù)庫模型(dbfirst榜晦,因為我很懶)
3,mvc+ef結(jié)合查詢數(shù)據(jù)羽圃,展示出來
好了就這么簡單乾胶,我們開始吧!
首先創(chuàng)建一個mvc項目朽寞,這個很簡單识窿,我也貼圖示意下:
打開vs for mac,樣子還是很小清新的脑融,我喜歡喻频。
創(chuàng)建項目,.Net Core -> App -> Asp.Net CoreWeb App (MVC)? 選好了就下一步吧肘迎!
給自己的項目起個牛逼的名字甥温,就像你有了自己的兒子,給他起個很牛逼的名字一樣膜宋。
MVC項目就這樣創(chuàng)建好了窿侈,看看我們的左邊項目結(jié)構(gòu),是不是和傳統(tǒng)的項目很像秋茫,特別喜歡.net的項目結(jié)構(gòu)史简,非常清晰,不像java似的亂七八糟的肛著,我不是說java技術(shù)不好圆兵,我只是說java的結(jié)構(gòu)設(shè)計怎么可以這么亂,不能改進下嗎枢贿?開發(fā)一味的追求繁瑣復(fù)雜殉农,有意思的嗎?科技的進步就是為了讓事情做起更簡單局荚,如果更復(fù)雜了超凳,是不是有悖我們的初衷呢愈污,所以,大愛.net.么么噠轮傍!
我們二話不說暂雹,運行下看看
完美運行,而且還是響應(yīng)式的網(wǎng)頁创夜,此刻應(yīng)有掌聲(啪啪啪)
至于項目結(jié)構(gòu)中有很多配置文件是我們沒見過的杭跪,這里呢很慚愧,我剛接觸驰吓,還是不是很清楚涧尿,所以,我就不瞎說了檬贰,下面我們繼續(xù)創(chuàng)建EF-DBFIRST
首先姑廉,我們先創(chuàng)建數(shù)據(jù)庫,我這里用SqlServer數(shù)據(jù)庫翁涤,我只能在另一臺機器創(chuàng)建了庄蹋。
這是我的數(shù)據(jù)庫,兩個表作為例子迷雪,一個User代表用戶限书,一個Post,表示用戶的帖子章咧。好了下面我們回到vs上倦西,繼續(xù)創(chuàng)建我們的EF吧!首先先創(chuàng)建一個EF文件夾赁严,我們創(chuàng)建的EF就會在這里生成扰柠。下面才是干貨
通過NuGet添加引用工具包,下面是列表
Microsoft.EntityFrameworkCore.Design
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.SqlServer.Design
Microsoft.EntityFrameworkCore.Tools
Microsoft.EntityFrameworkCore
右擊Dependencies后點擊Add Packages…
然后搜索Microsoft.EntityFrameworkCore,在搜索結(jié)果中找到這幾個包選中疼约,根據(jù)自己.Net core 的版本選擇相應(yīng)的版本卤档,然后就添加吧!過程中會彈出一些詢問窗口程剥,接受就好了劝枣,反正不接受,你就不能用织鲸!
這個弄好了以后舔腾,不要著急,還沒完事搂擦,下面右擊項目稳诚,選擇Tools然后點擊Edit File,就看到了xml文件,好了我們簡單的修改下瀑踢,如下圖
在圖中所示地方添加紅框子里的這句話扳还,方便你們復(fù)制才避,我在這里也貼一下。
“<DotNetCliToolReference?Include="Microsoft.EntityFrameworkCore.Tools.DotNet"?Version="2.0.0" />”
保存好了嗎氨距?我們繼續(xù)右擊項目打開終端工扎,Tools中的Open in Terminal,在彈出的終端中輸入dotnet ef試試。如果是下圖衔蹲,恭喜你,成功了一半了呈础!
當(dāng)讓我最開始可不是顯示這個舆驶,如果你和我一樣遇到了這種情況
如果提示你
“Version for package `Microsoft.EntityFrameworkCore.Tools.DotNet` could not be resolved.”
這句話,也不用擔(dān)心而钞,我也解決了沙廉,我在這個網(wǎng)頁中找到的答案
有時間你可以看看。
人家說臼节,用了這個東西撬陵,需要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是你自己的粉臊,名字也是你自己的草添,密碼也是,最后有個-c參數(shù)表示生成的EF名字扼仲,-o參數(shù)是創(chuàng)建在哪個目錄下远寸,還記得我們創(chuàng)建了EF文件夾嗎?這里用到了屠凶,好了我們試試吧驰后!這個過程我們需要等一小會,如果沒有提示任何問題矗愧,那么我們就成功了80%灶芝,歐耶!0隆监署!
這是創(chuàng)建完EF文件夾下的文件,好了纽哥,我們可以寫點小程序運行下了钠乏!
在Controllers文件夾中創(chuàng)建一個TestControllers.cs控制器文件
這是Index中的代碼
在Views中創(chuàng)建Test文件夾,再創(chuàng)建index.cshtml視圖文件
好了春塌,我們在運行吧晓避,把路徑后面加上/Test就好了
這就是效果簇捍!
好了,就寫到這里吧俏拱!我知其然暑塑,未知其所以然,所以能锅必,大家可以提問題事格,我會去研究提高的!謝謝閱讀搞隐!