天天看點

scaffold-dbcontext 可以根據資料庫生成ef上下文(mysql,sqlserver,sqlite) DB First

1 在nuget包中引用兩個包

必選

Microsoft.EntityFrameworkCore.Tools

sqlserver

Microsoft.EntityFrameworkCore.SqlServer

mysql

Pomelo.EntityFrameworkCore.Mysql

sqlite

Microsoft.EntityFrameworkCore.Sqlite

2使用指令生成(nuget管理控制台輸入指令)

mysql

Scaffold-DbContext  "server=127.0.0.1;uid=user;pwd=pwd;database=databse;" Pomelo.EntityFrameworkCore.MySql -OutputDir Models

sqlserver

Scaffold-DbContext  "server=127.0.0.1;uid=user;pwd=pwd;database=databse;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

sqlite

Scaffold-DbContext  "server=127.0.0.1;uid=user;pwd=pwd;database=databse;" Microsoft.EntityFrameworkCore.Sqlite -OutputDir Models

1,普通的指令

Scaffold-DbContext "Server=.\SQL2012;Database=Test;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

2,加force參數,當Models檔案夾下已有資料庫實體類時使用。

Scaffold-DbContext "連接配接字元串;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -force

3,指定生成某一個資料庫表的實體類。

Scaffold-DbContext "連接配接字元串;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -force -tables Role

4 大小寫轉換,不和資料庫一樣了,如果要保持和資料庫一緻。增加 -usedatabasename即可。

Scaffold-DbContext "連接配接字元串;" Microsoft.EntityFrameworkCore.SqlServer -OutPutDir DbModels -force -usedatabasename