2012-03-14 28 views
35

在Entity Framework 4.3.1中有没有办法禁用迁移?我从项目中删除了迁移文件夹,并在我的数据库中删除了生成的表格,但它不起作用!你如何消除迁移?如何在Entity Framework 4.3.1中禁用迁移?

+1

你是什么意思*它不工作*? – 2012-03-14 14:25:42

+0

我的意思是,当我删除这些文件和表格时,我认为禁用了迁移功能,但它已启用。当我运行该项目时,会发生关于迁移的错误 – 2012-03-14 14:27:33

+11

尝试添加'Database.SetInitializer (null)'以启动您的应用程序。 – 2012-03-14 14:29:42

回答

35

如果你不希望使用迁移,但在同一时间,你想EF为您创建数据库时,你只需要设置正确的数据库初始化:

Database.SetInitializer<YourContextType>(new CreateDatabaseIfNotExists<YourContentType>()); 
+9

new CreateDatabaseIfNotExists () – njebert 2012-09-09 02:24:23

+1

实际进行的是什么类/文件? – jep 2014-01-22 17:04:30

+1

@jep,您的应用程序的入口点。例如。 'global.asax.cs'或'Program.Main'。 – MEMark 2014-03-04 18:18:15

4

,我身边有这样的方式为确保我在我的代码关闭自动迁移:

AutomaticMigrationsEnabled = false; 

,然后我从数据库中删除的_MigrationHistory表(这通常被创建为系统表,如果你不能找到它)

+11

因为模糊不清而投了票。你的代码中究竟包含了那个命令? – JBeckton 2013-10-06 03:12:51

+0

嗯......好的问题JBeckton。自从我查看了这段代码之后已经有一段时间了,我不认为我仍然可以在任何地方访问它。我记得它在我的代码的实体框架设置部分。 不是很有帮助,我知道,所以我对此表示歉意。 – Buzzrick 2013-10-07 01:26:58

+7

'AutomaticMigrationsEnabled'属性位于/Migrations/Configuration.cs中 – 2013-10-27 02:04:06

31

删除Migrations文件夹为我工作。我没有得到任何错误,这让我回到了我开始的地方。

+2

也适用于我EF6 – Luther 2015-02-18 19:02:11

+0

Migrations文件夹在哪里?我是EF6代码优先,似乎没有任何地方。我当然没有做一个。 – 2016-10-31 11:49:52

相关问题