天天看點

codefirst連接配接mysql_EFCore CodeFirst 連接配接MySql

一.工具及環境

Visual Studio 2017 15.4.3

MySql

Navicat for MySQL

二.Entity Framwork Core 2.0 MySql Code First 及 資料庫遷移(Migrations)

1.建立Asp.Ner Core 應用程式

2.項目建立完成之後通過程式包管理器控制台,引入下面兩個包

搜尋 Microsoft.EntityFrameworkCore.Tools及 Pomelo.EntityFrameworkCore.MySql 然後安裝就可以了

3.編輯 項目檔案,增加這段。通過NuGet安裝不來

codefirst連接配接mysql_EFCore CodeFirst 連接配接MySql

4.建立User類

public class User

{

public int Id { get; set; }

public string Name { get; set; }

public string Age { get; set; }

}

5.添加DataContext類

codefirst連接配接mysql_EFCore CodeFirst 連接配接MySql

public class DataContext : DbContext

{

public DataContext(DbContextOptions options)

: base(options)

{

}

public DbSet Users { get; set; }

}

codefirst連接配接mysql_EFCore CodeFirst 連接配接MySql

6.打開Startup.cs 在ConfigurationServices方法中添加連接配接MySql的相關代碼

codefirst連接配接mysql_EFCore CodeFirst 連接配接MySql

public void ConfigureServices(IServiceCollection services)

{

services.AddMvc();

//這裡就是填寫資料庫的連接配接字元串

var connection = "Server=localhost;Port=3306;Database=TestMySql; User=root;Password=;";

services.AddDbContextPool(options => options.UseMySql(connection));

}

codefirst連接配接mysql_EFCore CodeFirst 連接配接MySql

7.在項目根目錄,按Shift+滑鼠右鍵,選擇打開PowerShell(如果是打開cmd也是可以的)

8.輸入 dotnet ef Migrations add Init

9.執行成功之後,輸入 dotnet ef database update

執行成功後,可以看到資料庫建立成功

codefirst連接配接mysql_EFCore CodeFirst 連接配接MySql

10.修改實體,并把修改的實體更新到資料庫(其實就是增加一些列)

這裡增加了Email列,但是這時資料庫還沒有Email列,接下來我們通過指令更新到資料庫中

codefirst連接配接mysql_EFCore CodeFirst 連接配接MySql

上圖指令其實跟剛開始 dotnet ef Migrations add Init 性質是一樣的,隻要你更改了代碼中的實體,然後想要更新到資料庫中

就是執行 dotnet ef add Migrations add 自定義名稱(注意是英文名稱)

然後執行 dotnet ef database update 執行成功之後,可以看到資料庫中也添加了剛才我們增加User實體中的Email列

codefirst連接配接mysql_EFCore CodeFirst 連接配接MySql

另一種方法是在VS菜單》視圖》其它視窗》程式包管理器控制台:

enable-migrations

add-migration init

update-database