只要不是初创公司,哪家还没个老项目,所以DBFirst还是很有用武之地的

1.首先创建一个空的创建一个ASP.NET Core Web 应用(类库也行)DDD模式放在Domain中比较好

2.引入包,在程序包管理控制台运行命令

  • 核心 NuGet 包:Microsoft.EntityFrameworkCore.Design

当然还有其他的,缺啥补啥就行

Install-Package Microsoft.EntityFrameworkCore.SqlServer
Install-Package Microsoft.EntityFrameworkCore
Install-Package Microsoft.EntityFrameworkCore.SqlServer.Design
Install-Package Microsoft.EntityFrameworkCore.Tools

3.根据现有数据库生成实体和上下文,同样在程序包管理台运行命令

Scaffold-DbContext "server=DESKTOP-9HM12DD\YYBSQL;database=EFCoreDemo1;integrated security=SSPI;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

默认就行,会生成一个Models文件夹(可能是隐藏状态),里面包含生成的类文件和DBContent(数据库名+Context.cs文件)DBContent文件拷贝到DDD模式的Infrastructure中,改改命名空间

"server=DESKTOP-9HM12DD\YYBSQL;database=EFCoreDemo1;integrated security=SSPI;"为连接数据库字符串,如需其他数据库请自行修改,-OutputDir Models中Models为生成实体文件夹名。

后续如数据库新增或删减表,在命令后加-Force,即

Scaffold-DbContext "server=DESKTOP-9HM12DD\YYBSQL;database=EFCoreDemo1;integrated security=SSPI;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force

可以把DBContext中的OnModelCreating方法里的类配置移动到单独的实现IEntityTypeConfiguration配置类中也可以。

原文链接:https://blog.csdn.net/qq_25086397/article/details/88941513

其他的一些配置说明文章

https://blog.csdn.net/u010012264/article/details/128189073  .net core 创建WebAPI以及使用EF DBFirst框架使用方法与疑问解答(.net 6)

https://blog.csdn.net/xuhss_com/article/details/124311535  EFCore 的 DbFirst 模式