設置爲model所在的那一層 mysql
.net core mvc和 .net mvc開發很類似,好比 視圖-模型-控制器結構。因此.net mvc開發員很容易入手.net core mvc 。可是兩個又有細微的區別,好比配置.net mvc中Web.config和Global.asax消失,而在.net core mvc中則是Startup.cs、Program.cs、appsettings.json等等。因此想要深刻了解.net core就必須更加深刻的學習。而剛剛開始的學習則是經過創建一個鏈接數據庫的demo開始。因爲配置文件的不一樣,致使不少新手在鏈接數據庫,或者使用codeFisrt開發殊不知道怎麼配置。因此我在這裏較爲詳細的寫一個demo提供給須要此方面的博友。(若有不正確地方歡迎各位指正)sql
開發工具vs2017數據庫
數據庫 mssql2014json
.net core環境 .net core2.1mvc
1.1先創建一個空白方案app
而後創建一個內庫,用來存放model:注意選擇內庫(.net core)ide
1.2在model層添加內容工具
如今nuget中分別引用:Microsoft.EntityFrameworkCore.SqlServer和Microsoft.EntityFrameworkCore.Tools,注意二者版本號最好相同,以避免出錯學習
而後加入model和數據庫的上下文類DataBase(這個名字本身隨意取),我在這裏先只創建一個user表(注意在DataBase中須要開發工具
using Microsoft.EntityFrameworkCore;)
public class DataBase : DbContext { //構造方法 public DataBase(DbContextOptions<DataBase> options) : base(options) { } #region 數據區域 public DbSet<User> User { get; set; } #endregion }
至此,model層配置完畢
先創建一個.net core項目
項目創建完畢以後先引用model層
而後進入Startup.cs配置數據庫鏈接,這裏首先引用using Microsoft.EntityFrameworkCore;和model層 using Modelx;而後配置鏈接
注意services.AddDbContext<DataBase>中的DataBase是model層中的 數據庫的上下文類,別弄錯了
以上所有完成,而後添加一個例子看看效果,在任意一個控制器中寫入如下代碼而後運行(.net core 的一個好處就是內置依賴注入)
這時,會發現程序報錯
原來,.net core 和.net mvc相比,在使用codefirst時候,除了配置文件以外,.net core 還須要在控制檯中執行如下兩行代碼
【注意每次修改數據庫都須要執行這兩段命令,每次執行 Add-Migration 後面名字必須不一樣】
先輸入:Add-Migration MyFirstMigration(名字。這裏隨意取未MyFirstMigration)
在輸入:Update-Database
首先咱們打開控制檯:
先輸入:Add-Migration MyFirstMigration而後回車等待運行完畢
而後輸入:Update-Database 回車,等到所有運行完畢以後,再運行項目看看,就發現項目正常運行,以及數據庫正常生成
注意若是輸入 Add-Migration MyFirstMigration出現Build failed則說明Microsoft.EntityFrameworkCore.Tools版本太高,和當前其餘插件的版本不匹配,建議使用2.14
關於上文鏈接數據庫,或許有人會問:和本身鏈接的不太同樣,.net core 鏈接字符串不是應該寫在appsettings.json裏面?下面,我就將鏈接數據庫的第二種方法寫在下面,畢竟多多益善
若是想嘗試這種方法的話,別忘了在控制檯輸入
先輸入:Add-Migration MyFirstMigrations(名字,爲了和上面區分,這裏加了s)
在輸入:Update-Database
首先在model層的nuget中引入 Microsoft.EntityFrameworkCore.Tools和 Pomelo.EntityFrameworkCore.MySql(圓圈是鏈接mssql必備、方塊是鏈接mysql必備)
而後返回ui層的appsettings.json中修改鏈接字符串
而後進入Startup.cs注入上下文
最後,在系統運行以前別忘記在nuget控制檯中運行那兩行命令
爲遷移搭建基架運行:Add-Migration MyFirstMy
將新遷移應用到數據庫運行:Update-Database
另外,須要注意的是,在默認項目這裏選擇你mode層的名字,否者運行錯誤
當以上所有完成以後,在運行程序,而後去看mysql數據庫
建議各位手打一次,加深印象。若是想偷懶的,付出代價(2積分)吧
https://download.csdn.net/download/qq_36215047/10824784 源碼地址
--------------------------------------分界線 2018-12-10 ------------------------------------------------------------------
錯誤記錄 1
若是輸入Add-Migration 出現這個錯誤,請把ui層設置爲啓動項,而後在輸入 Add-Migration MyFirstMy,注意
若是以爲本文對你有用的話,幫忙在最下方點個推薦吧∑(っ°Д°;)っ