根据设计好的数据库导出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错误,目前好像找不到特别好的办法,可能是项目报错的原因,把其他项目卸载,然后生成完之后再附加回来。