這個問題已被多次提出在SO上的不同口味。我經歷了所有的答案,並且耗費了大量的時間。我似乎無法得到這個工作。代碼優先遷移 - 實體框架 - 無法將列添加到表
我一直在研究asp.net mvc實體框架,SQL服務器應用程序。我已經有了一個現有的數據庫,表格等等,而且每件事情都在起作用。我只需要在表格中添加一個新列。
所以..我在模型類中添加了一個屬性,以便我可以將該列添加到表中。但沒有成功。
所以我按照以下順序執行這些步驟。
添加我的模型類中的字段。
[Required] public string EmailSubject{ get; set; }
- 然後我刪除我的asp.net MVC項目包含Configuration.cs類
然後在包管理器控制檯的文件夾遷移,我發出成功以下命令。
Enable-Migrations -ContextTypeName AppointmentReminder.Data.ReminderDb -Force
然後,我設置屬性真如下
public Configuration() { AutomaticMigrationsEnabled = true; }
然後我發出的包管理器控制檯執行以下命令。
Update-Database -Verbose -Force
這裏是我的連接字符串默認連接到數據庫看起來像
Data Source=(LocalDb)\v11.0;AttachDbFilename=C:\practice\AppointmentReminder4\AppointmentReminder4\App_Data\aspnet-AppointmentReminder4-20141202060615.mdf;Initial Catalog=aspnet-AppointmentReminder4-20141202060615;Integrated Security=True
但我無法對我的期望表中添加新列。
編輯1
我的模型更新,而不需要的屬性如下,並執行所有上述步驟,但我仍然無法將列添加到表中。
public string EmailBody { get; set; }
以下是所有命令及其輸出。
PM> Enable-Migrations -ContextTypeName AppointmentReminder.Data.ReminderDb -Force
Checking if the context targets an existing database...
Code First Migrations enabled for project AppointmentReminder4.
PM> Update-Database -Verbose -Force
Using StartUp project 'AppointmentReminder4'.
Using NuGet project 'AppointmentReminder4'.
Specify the '-Verbose' flag to view the SQL statements being applied to the target database.
Target database is: 'aspnet-AppointmentReminder4-20141202060615' (DataSource: (LocalDb)\v11.0, Provider: System.Data.SqlClient, Origin: Configuration).
No pending explicit migrations.
Running Seed method.
PM> Update-Database -Verbose -Force
Using StartUp project 'AppointmentReminder4'.
Using NuGet project 'AppointmentReminder4'.
Specify the '-Verbose' flag to view the SQL statements being applied to the target database.
Target database is: 'aspnet-AppointmentReminder4-20141202060615' (DataSource: (LocalDb)\v11.0, Provider: System.Data.SqlClient, Origin: Configuration).
No pending explicit migrations.
Running Seed method.
PM>
編輯2 終於解決了這個問題。我上面的所有步驟都是正確的。除了我編輯我的模型類,而不是實際綁定到ReminderDb(EF對象)的實際數據類。在我用屬性更新了正確的類後,每件事情都成功了。感謝所有那些迴應幫助的人!
雖然我已經回答了,我認爲答案是什麼,你應該表現出什麼樣的錯誤你得到。 – 2015-01-20 20:28:35