尝试使用Effort创建上下文时,Entity Framework 6会引发迁移异常


我正在尝试使用Effort来测试我的应用程序,但是如果在上下文中启用了代码优先迁移,那么它会抛出以下异常:

System.InvalidOperationException:为上下文“XDbContext”启用了迁移,但数据库不存在或不包含映射表。使用迁移创建数据库及其表,例如通过从程序包管理器控制台运行“Update-Database”命令。

如果我禁用迁移,那么一切正常。

为了我的测试目的,我如何阻止实体考虑迁移。

热门答案

我在单元测试项目中遇到了同样的错误。我通过调用CreateIfNotExist()函数修改TestInitialize函数来解决它

    [TestInitialize]
    public void Initialize()
    {
        DbConnection connection = Effort.DbConnectionFactory.CreateTransient();

        context = new MyAccessContext(connection);
        context.Database.CreateIfNotExists();
        service = new YourClass(context);
    }




许可下: CC-BY-SA
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因