在 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

 

posted @ 2026-02-04 15:56  不是豆豆  阅读(3)  评论(0)    收藏  举报
友情链接:迷途