当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《尝试使用Effort创建上下文时,EntityFramework6会引发迁移异常》经验,为你挑选了1个好方法。

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

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

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

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



1> 小智..:

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

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

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


有史蒂夫用Effort,Entity Framework 6.0.0和DropCreateDatabaseAlways初始化程序描述的问题.如上所述添加`CreateIfNotExists()`调用修复了它.但是,在更新到Entity Framework 6.1.3之后,不再需要添加`context.Database.CreateIfNotExists();`.
我有同样的问题,升级到Entity Framework 6.1.3解决了它,正如Lauri Harpf所说.
推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有