【问题标题】:How to downgrade Entity framework from 6 to 5?如何将实体框架从 6 降级到 5?
【发布时间】:2013-11-29 09:45:14
【问题描述】:

我正在使用 VS2013 创建一个 Asp.Net MVC 项目,并使用 nuget 添加 hottowel (2.0.1)。但是,微风不适用于 Entity Framework 6。

如何将创建项目的Entity Framework 6降级为EF5?

【问题讨论】:

    标签: .net entity-framework


    【解决方案1】:

    在项目的 nuget 包控制台中(在下拉列表中选择它)输入:

    Uninstall-package EntityFramework
    Install-Package EntityFramework -version 5.0.0
    

    【讨论】:

    • 卸载“Uninstall-Package”时出现以下错误:无法卸载“EntityFramework 6.0.0-rc1”,因为“Breeze.Server.WebApi.EF 1.4.6,Microsoft.AspNet.Identity。 EntityFramework 1.0.0-rc1' 依赖它。`.
    • 您可以尝试在卸载命令的末尾添加 -force。这意味着它将忽略依赖项
    • 但是 Microsoft.AspNet.Identity.EntityFramework 依赖于 EF 6,这意味着如果你想要那个包,你(可能)不能降级。如果你认为你可以摆脱它,你可以使用绑定重定向来强制 Microsoft.AspNet.Identity.EntityFramework 使用 EF5
    • 是的,我收到了 Identity EF 错误。该网站需要使用 Facebook 登录。
    • 注意:仍然需要手动更新 web.config。在实体框架配置部分下将 Version=6.0.0.0 更改为 Version 5.0.0.0。
    【解决方案2】:

    Entity Framework 还将__MigrationHistory 表从系统表移动到用户表。当我在回滚后尝试运行我的应用程序时,它不起作用,所以我不得不将__MigrationHistory 移回系统表:

    EXEC sys.sp_MS_marksystemobject __MigrationHistory;
    

    当我升级到 EntityFramework 6 时,我不得不添加一个空迁移(不幸的是我不记得原因,但我猜它抱怨更新数据库或类似的东西)。我还必须删除那个空迁移。由于这是一个完全空的迁移,我想这样做是安全的,我不知道实际更改数据库的迁移。但是,他们在运行程序时可能不会抱怨。

    delete from dbo.__MigrationHistory where MigrationId = 'myEmptyMigration';
    

    然后我从我的项目中删除了解决我的问题的空迁移文件。

    【讨论】:

      【解决方案3】:

      标有“(废弃)”的 Breeze 包旨在与 EF5 和 WebApi 一起使用。 “当前”包(未标记为过时的包)均适用于 WebApi2 和 EF6。目前没有将 EF5 与 WebApi2 混合和匹配的选项。如果这很重要,请将其添加到Breeze User Voice

      【讨论】:

        【解决方案4】:

        我意识到这是一个已经有答案的旧帖子,但我想我会添加这个小块。

        如果您有许多使用 Entity Framework 的项目并且想要全部降级,请先手动更改其中一个项目,然后刷新包描述页面,您将获得 Consolidate as an Action。选择此项,然后选择版本 5.0.0,这将使您将所有项目降级到 5.0.0

        【讨论】:

          【解决方案5】:

          包管理器控制台上写

          PM>卸载包EntityFramework

          PM> 安装包EntityFramework -version 5.0.0

          【讨论】:

          • 这只是重申最赞成/接受的答案。
          猜你喜欢
          • 1970-01-01
          • 2011-12-25
          • 1970-01-01
          • 1970-01-01
          • 2015-11-26
          • 2013-12-17
          • 1970-01-01
          • 2018-10-20
          • 2015-05-31
          相关资源
          最近更新 更多