尝试在实体框架中添加迁移时出现“在程序集中未找到DbContext”错误

时间:2019-04-05 12:16:44

标签: c# entity-framework migration ef-migrations

我正在使用C# MVC制作一个Entity Framework 6.2.0应用程序,直到今天我尝试进行一些迁移时,一切都很好。

一周前迁移没有任何问题,但我不知道是什么导致了软件包管理器中的错误:

  

在程序集“数据”中未找到DbContext。确保您正在使用   正确的程序集,并且类型既不是抽象的,也不是   通用的。

我尝试重新安装Entity Framework,并确保“默认项目”是正确的。我已经有一个正常工作的上下文文件。

这是我的GameContext.cs代码:

public class GameContext :DbContext
{
    public GameContext()
        :base ("name=GameContext")
    {

    }
    public DbSet<Game> Game { get; set; }
    public DbSet<Account> Account { get; set; }
}

我需要找到一种方法来解决此问题并设法更新数据库。

2 个答案:

答案 0 :(得分:1)

您可能需要在项目管理控制台中选择ProjectName.Data enter image description here

答案 1 :(得分:0)

尝试在注册服务时添加程序集名称,可以通过转到项目属性来找到程序集名称。

services.AddDbContextPool<AppDbContext>
            (
                dbContextOptionsBuilder =>
                {

                    dbContextOptionsBuilder.UseSqlServer("yourConnection",
                        optionsSqlServer => { optionsSqlServer.MigrationsAssembly("ADD_YOUR_ASSEMBLY_NAME");});

                }
            );