根据设计好的数据库导出Entity和DbContext

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

 

(1)安装NuGet包:Microsoft.EntityFrameworkCore.Design(安装Microsoft.EntityFrameworkCore.Tools包时已包括)

(2)安装NuGet包:Microsoft.EntityFrameworkCore.Tools

(3)安装对应的数据库提供程序比如sqlserver就安装:Microsoft.EntityFrameworkCore.SqlServer

 

打开PM命令行

 

 

执行命令:Scaffold-DbContext  "data source=localhost;initial catalog=BlueShieldCollege;persist security info=True;user id=sa;password=123456;" Microsoft.EntityFrameworkCore.SqlServer

 

默认是生成指定数据库的所有表,如果只需要部分表可以指定参数:--table Artist --table Album,以此类推

可以通过-Namespace Your.Namespace设置所有输出文件的命名空间

可以通过-Context DemoDbContext 指定上下文类名为DemoDbContext (根据自己需要设置)

可以通过-ContextDir Data指定DbContext所在目录Data(根据自己的目录名指定)

可以通过-OutputDir Models指定生成类所在的目录Models(根据自己的目录名指定)

 

示例:Scaffold-DbContext "data source=localhost;initial catalog=BlueShieldCollege;persist security info=True;user id=sa;password=123456;" Microsoft.EntityFrameworkCore.SqlServer -Namespace "EFWithDapper.DB" -Context "DemoDbContext" -ContextDir "Context" -OutputDir "Entity" 

 

常见问题:有时候一直会出现Build Fail错误,目前好像找不到特别好的办法,可能是项目报错的原因,把其他项目卸载,然后生成完之后再附加回来。

 

posted @ 2022-07-01 11:04  黑魔术师与黑魔术少女  阅读(46)  评论(0编辑  收藏  举报
1 3 levels of contents