单独项目中的EF Core迁移 - 问题

时间:2018-01-29 20:30:02

标签: ef-migrations ef-core-2.0

我没有成功在单独的项目中添加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 

如果你能告诉我怎么做,我可以分享源代码。

提前感谢您提供的澄清!

这是我的项目结构:

Project Structure

1 个答案:

答案 0 :(得分:4)

使用以下命令可以解决此问题。

dotnet ef --startup-project ../Project.Api/ migrations add InitialModel
  • 我在这里为api和EF使用单独的文件夹。
  • 从EF项目文件夹中运行以上命令
  • 启动项目指的是api