我正在使用VS2013创建一个Asp.Net MVC项目,并使用nuget添加了hottowel(2.0.1)。但是,微风不适用于Entity Framework 6.
如何将创建项目的Entity Framework 6降级为EF5?
答案 0 :(得分:56)
在项目的nuget包控制台中(在下拉列表中选择它):
Uninstall-package EntityFramework
Install-Package EntityFramework -version 5.0.0
答案 1 :(得分:2)
实体框架还将__MigrationHistory
表从系统表移动到用户表。当我在回滚后尝试运行我的应用程序时它不起作用,所以我不得不将__MigrationHistory
移回系统表:
EXEC sys.sp_MS_marksystemobject __MigrationHistory;
当我升级到EntityFramework 6时,我不得不添加一个空迁移(遗憾的是我不记得原因,但我猜它抱怨更新数据库或类似的)。我还必须删除那个空迁移。由于这是一个完全空的迁移,我想这是安全的,我不知道实际更改数据库的迁移。但是,他们在运行程序时可能不会抱怨。
delete from dbo.__MigrationHistory where MigrationId = 'myEmptyMigration';
然后我从项目中删除了空迁移文件,解决了我的问题。
答案 2 :(得分:1)
标有“(过时)”的Breeze软件包适用于EF5和WebApi。 “当前”包(未标记为过时的包)都适用于WebApi2和EF6。目前没有选项可以将EF5与WebApi2混合搭配。如果这很重要,请将其添加到Breeze User Voice
答案 3 :(得分:0)
我意识到这是一篇已经有答案的老帖子,但我想我会添加这个小块。
如果您有许多使用Entity Framework的项目并希望降级所有项目,请先手动更改其中一个项目,然后刷新包描述页面,您将获得Consolidate作为Action。选择此项,然后选择版本5.0.0,这将允许您将所有项目降级到5.0.0
答案 4 :(得分:-1)
PM>卸载程序包EntityFramework
PM>安装包EntityFramework
-version 5.0.0