在 EF Core 中使用传统的 DbFirst 模式
现在 DbFirst 叫做 Scaffolding,官方译作反向工程
反正就是以数据库架构为准来生成实体模型
然后 EF Core 也没有官方的图形化工具了,统一使用 cli 来操作
在解决方案对应项目上右键,选择“在终端中打开”,然后在打开的终端中执行以下步骤
1、先在项目中安装对应 nuget 包
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
dotnet add package Microsoft.EntityFrameworkCore.Design
装完最好先生成下项目
2、执行以下脚本连接数据库并生成对应实体类:
dotnet ef dbcontext scaffold --force --no-onconfiguring --use-database-names --no-pluralize --data-annotations --context YourDBEntities "data source=.;initial catalog=YourDB;integrated security=True;multipleactiveresultsets=True;TrustServerCertificate=True;" Microsoft.EntityFrameworkCore.SqlServer
前名命令固定
--force:替换已有模型文件
--no-onconfiguring:不生成连接字符串到代码中
--use-database-names:按数据库名称建立模型对应名称(否则会自动改为 C# 中命名标准)
--no-pluralize:不要将实体名称自动改为复数形式
--data-annotations:实体字段标记约束
--context [实体类名]:指定生成的数据库实体类名
[连接字符串]:指定连接字符串
Microsoft.EntityFrameworkCore.SqlServer:连接数据库所用的包名
3、然后就可以看到文件已经生成好了。更多选项和操作,请参见
官方文档:https://learn.microsoft.com/zh-cn/ef/core/managing-schemas/scaffolding/?tabs=dotnet-core-cli
输了你,赢了世界又如何...

浙公网安备 33010602011771号