天天看點

.Net Core 2.0 EntityFrameworkCore CodeFirst入門教程

最近難得有時間閑下來,研究了一下.net core 2.0,總的來說,目前除了一些第三方的庫不支援外,基本上可以滿足我們的項目需求了!

我們就以一個網站開發為例,搭建一個簡單的三層架構,先熟悉一下.net core 2.0的開發流程!

 一 、搭建項目架構

首先,我們建立項目,如圖:

.Net Core 2.0 EntityFrameworkCore CodeFirst入門教程
.Net Core 2.0 EntityFrameworkCore CodeFirst入門教程

然後,我們分别添加.net core類庫項目,NetCoreDemo.Repository(資料通路層)和NetCoreDemo.Service(服務層),項目結構如下:

.Net Core 2.0 EntityFrameworkCore CodeFirst入門教程

 二 、初始化資料庫

項目中, NetCoreDemo.Repository相當于三層中的DAL層,主要是與資料庫互動!為了實作web項目和資料庫解耦,友善将來更好資料庫,我們在NetCoreDemo.Repository中安裝EntiryFrameWorkCore,這裡我們以SQL Server為例,安裝下面兩個安裝包,在程式包管理控制台執行以下命名或者用Nuget包管理器安裝均可:

然後,我們建立DbContext類,如MyDbContext,繼承自DbContext,代碼如下:

這裡,我們建立一個User類作為測試,代碼如下:

 現在,DbContext建好了,下面我們連接配接資料庫,還差一個資料庫連接配接字元串,這個連接配接字元串我們通常是放在webconfig中的,那麼.net core中應該放到哪裡呢?

我們來到web項目下,看到有一個appsettings.json,裡面内容如下:

我們就把資料庫連接配接字元串放到這裡吧,改完後,其内容如下:

既然我們是Code First,下面準備建立資料庫,生成表,執行Migration!

我們修改Startup.cs,修改ConfigureServices方法如下:

這裡需要注意的是,我們通過Configuration方法讀取appsetting.json中的連接配接字元串,然後調用AddDbContext方法,把連接配接字元串傳進去,這裡要設定MigrationsAssembly為目前web項目,(這裡大家可以試一下不設定這個,會報一個錯誤),這是因為我們執行Migration是在web項目下,下面我們打開DOS視窗,開始 -> 運作 -> CMD,定位到web項目根目錄下,執行如下指令:

這裡,我們看到出現了錯誤,如圖:

.Net Core 2.0 EntityFrameworkCore CodeFirst入門教程

這裡,我們修改項目檔案,在項目上面右鍵,打開項目檔案,如圖:

.Net Core 2.0 EntityFrameworkCore CodeFirst入門教程

在裡面添加如下代碼(任意位置均可):

加完後,如圖:

.Net Core 2.0 EntityFrameworkCore CodeFirst入門教程

然後,我們再次執行指令:

如果出現Build faild的錯誤,重新生成一下項目,然後再次執行,執行成功後,如圖:

.Net Core 2.0 EntityFrameworkCore CodeFirst入門教程

這一步成功了,也就意味着,我們後面的路會很順利了,下面我們更新到資料庫,執行指令:

等待一小會兒,執行成功後,我們會發現資料庫中已經生成了我們的資料庫和表了,這裡我就不截圖了,上傳圖檔實在是太慢了~~

 三 、後續工作

 上面,我們已經完成了資料庫的建立,後面就可以開開心心的寫代碼了~~

QQ交流群:243633526

 部落格位址:http://www.cnblogs.com/yunfeifei/

 聲明:本部落格原創文字隻代表本人工作中在某一時間内總結的觀點或結論,與本人所在機關沒有直接利益關系。非商業,未授權,貼子請以現狀保留,轉載時必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接。

如果大家感覺我的博文對大家有幫助,請推薦支援一把,給我寫作的動力。