2012-03-14 61 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

相關問題