【问题标题】:Asp.net MVC 4 How to enable Migrations from DbContext in another Project?Asp.net MVC 4 如何在另一个项目中启用从 DbContext 迁移?
【发布时间】:2013-10-20 04:06:37
【问题描述】:

我的项目有 3 层:

  • Project.Core:实体和存储库接口。
  • Project.Data:DbContext、存储库实现和 UnitOfWork 实现。有 Core 的引用。
  • Project.UI:视图、控制器、视图模型。有代码和数据的参考。

我将 MVC 4 与实体框架 5 和代码优先方法一起使用。

所以可以在 Project.UI 上启用 POCO 迁移吗?

我试过跑步:

启用迁移 Project.Data.MyDbContext

但是收到消息:

在程序集“Project.UI”中找不到上下文类型“Project.Data.MyDbContext”。

【问题讨论】:

    标签: asp.net-mvc-4 entity-framework-5 dbcontext n-tier-architecture


    【解决方案1】:

    您需要确保在包含 DBContext 的项目上运行 enable-migrations,这样您就不能在 UI 项目上运行它(否则它需要是当前选择的项目的相对路径,例如。./项目数据)

    将默认项目设置为Project.Data

    然后运行:

    enable-migrations

    【讨论】:

      【解决方案2】:

      您还可以将 Project.Data.DLL 包含到 Project.ui 中,这是我们采用的方法。我们还将视图包装到一个类似的 DLL 中,以便在多个项目中使用

      【讨论】:

        【解决方案3】:

        我建议您在解决方案中为数据播种创建一个单独的项目。然后,您可以在种子项目中包含对您的 Project.Data.DLL 的引用并从那里运行迁移(这将是合适的)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2023-03-18
          • 2015-11-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-01-24
          • 1970-01-01
          相关资源
          最近更新 更多