无法从解决方案中的所有项目实例化上下文

时间:2014-05-31 06:23:11

标签: c# asp.net-mvc entity-framework ef-code-first nuget

我有一个解决方案,其中有以下项目:

  1. 在代码优先方法下开发的上下文和实体。
  2. 提供某些业务对象的类库。 objets正在使用EF上下文及其对象来满足DataAccess的需求。
  3. 解决方案具有业务对象的单元测试
  4. 我能够成功执行单元测试。

    现在我已经添加了一个MVC 5项目,我想在其中注入我的业务对象。我已经创建了一个控制器和视图,并在我的单元测试中传递了相同的代码安全性,并且还添加了项目web配置正确的实体框架和连接字符串部分。当我执行代码时,我面临以下错误:

      

    为上下文' DatabaseContext'启用了迁移。但是数据库   不存在或不包含映射表。使用迁移创建   数据库及其表,例如通过运行   '更新,数据库'来自程序包管理器控制台的命令。

    当我调试我的代码时,我发现我正在通过theese指令

    Database.SetInitializer(new ModelContextStrategy());
    

    public Configuration()
    {
        AutomaticMigrationsEnabled = true;
    }
    

    但我的结果仍然是负面的,虽然在我的单位测试中,everething工作得很好......

    如果我正在进行单元测试,首先创建db并完成所有单元测试,然后我将启动MVC应用程序:

      

    支持' DatabaseContext'自从以来情境发生了变化   数据库已创建。考虑使用Code First Migrations进行更新   数据库

    我错过了什么或做错了什么? (mvc项目的特定nuget包安装?)

1 个答案:

答案 0 :(得分:0)

一旦我为我的MVC项目启用了实体框架

,问题就解决了
  

Install-Package EntityFramework -Version 6.1.0