迁移:在程序集中找不到DbContext

cem*_*mbo 6 c# model-view-controller entity-framework dbcontext ef-migrations

使用VS Community2017。我尝试使用错误消息创建初始迁移:

实体框架核心和实体框架6均已安装。实体框架核心工具正在运行。对实体框架6使用'EntityFramework \ Add-Migration'。在程序集'Test_Project'中找不到DbContext。确保使用正确的程序集,并且类型既不是抽象的也不是泛型的。

...我的dbcontext中的代码:

protected override void OnModelCreating(DbModelBuilder mb)
{
    base.OnModelCreating(mb);

    mb.Entity<Stuff>().ToTable("Stuff");

}

public DbSet<Stuff> Stuff{ get; set; }
Run Code Online (Sandbox Code Playgroud)

小智 14

您必须指定 DbContext 所在的项目名称。所以就在 Nugget PM 控制台上,输入:Add-Migration MigrationName -Project YourProjectName

  • 这个答案对我有帮助,因为我正在使用包含多个项目的解决方案。谢谢。 (2认同)

小智 10

在程序包管理器控制台中,选择定义DbContext的项目,然后运行命令add-migration initial对于Ex:public类SomeContext:DbContext

  • 如何选择项目?面临同样的问题,不知道如何在控制台中选择项目。 (2认同)