0
我想使用EF6的代碼優先技術,但是當我對錶進行更改時,它會刪除數據庫並重新創建它,清除所有數據。 有什麼辦法可以阻止這種情況發生?在EF6中更新CodeFirst中的數據庫而不刪除數據
我的代碼:
Database.SetInitializer<EmployeeDb>(new DropCreateDatabaseIfModelChanges<EmployeeDb>());
我想使用EF6的代碼優先技術,但是當我對錶進行更改時,它會刪除數據庫並重新創建它,清除所有數據。 有什麼辦法可以阻止這種情況發生?在EF6中更新CodeFirst中的數據庫而不刪除數據
我的代碼:
Database.SetInitializer<EmployeeDb>(new DropCreateDatabaseIfModelChanges<EmployeeDb>());
這些都是在代碼中第一種方法爲數據庫動初始化策略:
Here,它可以給你一般的想法和如何使用這些方法之一。
由於您的意見CreateDatabaseIfNotExists
可以幫助你。使用這種方法添加或刪除模型類時,您的db
將會更新,您的數據將保持穩定。
Here你可以找到例子都Context
構造和計算器config
文件
你也給出了答案。你的代碼說,如果你改變你的模型,它會下降並創建數據庫。 –
我想知道是否有替代方案,我可以先使用代碼,但在更新表上不必重新創建數據庫。 –
你可以使用Code First Migrations https://msdn.microsoft.com/en-us/library/jj591621(v=vs.113).aspx –