我没有成功在单独的项目中添加ef核心迁移。我最后提供了项目结构。
DbContext类和迁移位于单独的项目中,前者是类库,迁移项目是控制台应用程序。我在迁移项目中添加了对DbContext项目的引用,但是在运行迁移命令时出现错误
\ EF.BlogsDb.Migrations> dotnet ef migrations添加InitialCreate --project EF.BlogsDb.Migrations.csproj
在汇编' EF.BlogsDb.Migrations'中找不到DbContext。确保您使用正确的程序集,并且该类型既不是抽象的也不是通用的。
我遵循了link的建议,但我不确定以下内容。
我应该在哪个项目中添加这些行?它是迁移项目还是我的Web项目或DbContext项目?
options.UseSqlServer(
connectionString,
x => x.MigrationsAssembly("MyApp.Migrations"));
为什么我应该从启动程序集添加对迁移程序集的引用?
我应该从哪个位置/文件夹/项目运行此命令?
dotnet ef migrations add NewMigration --project MyApp.Migrations
如果你能告诉我怎么做,我可以分享源代码。
提前感谢您提供的澄清!
这是我的项目结构:
答案 0 :(得分:4)
使用以下命令可以解决此问题。
dotnet ef --startup-project ../Project.Api/ migrations add InitialModel