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

blo*_*s4t 5 ef-migrations ef-core-2.0

我没有在一个单独的项目中添加ef核心迁移。我在最后提供了项目结构。

DbContext类和迁移在单独的项目中,因此前者是类库,而迁移项目是控制台应用程序。我在迁移项目中添加了对DbContext项目的引用,但是,在运行迁移命令时出现错误

\ EF.BlogsDb.Migrations> dotnet ef迁移添加InitialCreate --project EF.BlogsDb.Migrations.csproj

在程序集“ EF.BlogsDb.Migrations”中未找到DbContext。确保使用正确的程序集,并且类型既不是抽象的也不是泛型的。

我遵循了从此链接提供的建议,但不确定以下内容。

我应该在哪个项目中添加这些行?是迁移项目还是我的Web项目还是DbContext项目?

options.UseSqlServer(
    connectionString,
    x => x.MigrationsAssembly("MyApp.Migrations")); 
Run Code Online (Sandbox Code Playgroud)

为什么我应该从启动程序集添加对迁移程序集的引用?

我应该从哪个位置/文件夹/项目运行此命令?

dotnet ef migrations add NewMigration --project MyApp.Migrations 
Run Code Online (Sandbox Code Playgroud)

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

预先感谢您可能提供的澄清!

这是我的项目结构,如下所示:

项目结构

Jee*_*Jsb 6

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

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