.net core三层架构中,在data层进行数据库迁移可能出现的问题
我在进行数据迁移遇到以下问题, 有遇到同样问题的小伙伴可以参考一下哟~
在使用三层架构时候,我的目录结构是这样的

我已经在program.cs中配置数据库,以及在appsetting.json中配置数据库参数
迁移数据库时候在xxx.Data终端中进行,生成Migrations文件。
需要用到以下Nuget包
Microsoft.EntityFrameworkCore.Design
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools
这个时候开始迁移,就会出现以下错误

就需要更改指令 dotnet ef migrations add InitialMigration --startup-project ../xxx.API
还需要在xxx.Data/Context/ 下创建一个设计时工厂类,具体代码如下

上述代码还需要引入以下Nuget包
Microsoft.Extensions.Configuration、
Microsoft.Extensions.Configuration.FileExtensions、
Microsoft.Extensions.Configuration.Json
还需要将xxx.Data的Microsoft.EntityFrameworkCore.Design包改为
就可以正确迁移到数据库了!
ps:在dotnet ef database update的时候也需要加上--startup-project ../xxx.API),因为工具默认当前(Data项目目录)查找appsetting.json,但是配置文件实际在API层
浙公网安备 33010602011771号