【问题标题】:Cannot enable migrations for Entity Framework in class library无法在类库中为实体框架启用迁移
【发布时间】:2012-03-20 14:32:54
【问题描述】:

我刚开始使用 EF 5,并且正在使用他们的代码优先迁移工具,但是当我尝试启用迁移时似乎遇到了错误。

我在包管理器控制台中输入Enable-Migrations,然后它说

在当前项目中找不到派生自 DbContext 的类。
编辑生成的配置类以指定启用迁移的上下文。
为项目 MyApp.MvcUI 启用 Code First 迁移。

然后它会在我的 MvcUI 项目中创建一个 Migrations 文件夹和一个配置类。问题是,我的 DbContext 位于一个名为 MyApp.Domain 的类库项目中。它应该在那个项目中完成所有这些工作,并且找到我的 DbContext 应该没有问题。

【问题讨论】:

    标签: c# entity-framework ef-code-first entity-framework-5 entity-framework-migrations


    【解决方案1】:

    哦,哇,没关系。我很笨。

    在 Nuget 包管理器控制台的顶部有一个标有“默认项目:”的下拉菜单。确保将其设置为要对其运行命令的项目。

    希望这可以帮助其他人避免我的尴尬错误。

    【讨论】:

    • 不知道有这个。你摇滚。
    • 谢谢!我也错过了这个。
    • 不敢相信我错过了那个下拉菜单,非常感谢。
    • @JaredStroeb 很高兴我能提供帮助。别担心,我不敢相信我也错过了。
    • 非常感谢!也错过了。
    【解决方案2】:

    实际上有 3 种方法可以让 Nuget 命令在特定项目中运行:

    1. [包管理器控制台]在控制台工具窗口顶部的下拉菜单中设置活动项目
    2. [包管理器控制台] 查找参数以指定项目。对于我见过的一些 cmdlet -ProjectName 和一些使用 -Project
    3. [解决方案资源管理器] 右键单击​​所需的项目,然后使用图形包管理器窗口(管理 NuGet 包...)。

    【讨论】:

    • 我猜第三个选项是为你设置包管理器控制台下拉列表对吗?
    猜你喜欢
    • 1970-01-01
    • 2021-09-11
    • 1970-01-01
    • 1970-01-01
    • 2020-10-23
    • 2020-04-13
    • 1970-01-01
    • 2014-07-08
    • 2015-05-11
    相关资源
    最近更新 更多