天天看点

.net core3.1 efcore DBFirst(生成实体类)

.net core3.1 efcore(生成实体类)

1.安装包

Install-Package MySql.Data.EntityFrameworkCore  

Install-Package Pomelo.EntityFrameworkCore.MySql

Install-Package Microsoft.EntityFrameworkCore.Tools

Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design

2.执行语句

打开项目文件夹(需要放置实体类和dbcontext文件的地址 ),cmd 执行命令

mysql版本如下:(server=localhost;不能为server=.;)

dotnet ef dbcontext scaffold "Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=Chinook" Microsoft.EntityFrameworkCore.SqlServer
           

PMC 包管理工具(仅限制vs2019使用)

Scaffold-DbContext -Connection "server=127.0.0.1;uid=root;pwd=123;database=Book;"  -Provider Pomelo.EntityFrameworkCore.MySql -OutputDir Models -ContextDir Db -Context BookContext -Table[单独表生成去除的话生成全部] T_User -UseDatabaseNames  -Force
           

以上代码如果执行PMC命令的时候报错如下

.net core3.1 efcore DBFirst(生成实体类)

则重新安装 最新版 Install-Package Microsoft.EntityFrameworkCore.Tools

注意:如果报 dotnet ef 无此命令 运行如下代码

 dotnet tool install --global dotnet-ef
           

官方注释:

-OutputDir *** 实体文件所存放的文件目录

-ContextDir *** DbContext文件存放的目录

-Context *** DbContext文件名

-Schemas *** 需要生成实体数据的数据表所在的模式

-Tables *** 需要生成实体数据的数据表的集合

-DataAnnotations

-UseDatabaseNames 直接使用数据库中的表名和列名(某些版本不支持)

-Force 强制执行,重写已经存在的实体文件

微软官方文档 中断性变更:

https://docs.microsoft.com/zh-cn/ef/core/what-is-new/ef-core-3.0/breaking-changes?toc=/dotnet/core/compatibility/toc.jso

https://docs.microsoft.com/zh-cn/ef/core/miscellaneous/cli/dotnet

https://docs.microsoft.com/zh-cn/ef/core/managing-schemas/scaffolding?tabs=dotnet-core-cli

————————————————

版权声明:本文为CSDN博主「chafferer_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

继续阅读