有沒有一種方法,當我添加一個新的實體到我的代碼優先配置表會自動添加,所以我不必擔心用新表更新我的數據庫?EF4代碼首先創建新表
1
A
回答
2
您可以添加
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<YourDbContext>());
在你讀應用程序啓動。如果您修改了配置,它將爲您重新創建數據庫。 如果您不想刪除並創建數據庫(要增量開發),則可以使用SqlMigrations
。 http://www.hanselman.com/blog/EntityFrameworkCodeFirstMigrationsAlphaNuGetPackageOfTheWeek10.aspx
0
來源:http://blogs.msdn.com/b/adonet/archive/2010/12/06/ef-feature-ctp5-code-first-walkthrough.aspx
設置的初始化策略
在下一節我們將開始改變我們的模型而這又意味着數據庫模式需要改變。目前沒有「開箱即用」的解決方案來演變現有的架構。數據庫的演變是我們目前正在開展的工作,我們前進的方向樣本是在最近的一篇設計博客文章中提供的。
但是有機會運行一些自定義邏輯來首次在AppDomain中使用上下文來初始化數據庫。如果要爲測試運行插入種子數據,這很方便,但如果模型已更改,則重新創建數據庫也很有用。在CTP5中,我們包含了一些您可以插入的策略,但您也可以編寫自定義策略。
在Program.cs的
using System.Data.Entity.Database;
因爲我們只是想刪除然後重新創建每當模型已更改數據庫中演練的頂部System.Data.Entity.Database添加using語句,所以在Main方法在我的Program類的頂尖我已經添加以下代碼
DbDatabase.SetInitializer<ProductContext>( new DropCreateDatabaseIfModelChanges<ProductContext>());
相關問題
- 1. EF代碼首先創建
- 2. sqlite EF6代碼首先不創建表
- 3. 嘲諷DbEntityEntry.CurrentValues.SetValues()在EF4 CTP5代碼首先
- 4. EF4代碼 - 首先導致InvalidOperationException
- 5. 在EF4代碼中創建多對多關係代碼優先
- 6. EF4代碼首先使表格名稱單數
- 7. EF代碼首先,使用代理創建新對象集合
- 8. EF7代碼首先繼續丟棄並重新創建外鍵
- 9. 如何強制EF代碼首先重新創建數據庫?
- 10. 如何創建/更新EF代碼中的LastModified字段首先
- 11. EF代碼首先不會創建新的數據庫
- 12. 實體框架代碼首先不要創建表
- 13. 實體框架4.1代碼首先不創建表
- 14. 實體框架6.1.1代碼首先創建不可讀表
- 15. EF4代碼首先綁定到會員角色的用戶
- 16. EF4代碼首先添加項目我不太清楚
- 17. 創建新表EF編碼的困惑 - 首先一對多
- 18. EF4中的級聯刪除CTP5代碼首先對子記錄執行更新
- 19. 從哪些信息是EF4代碼首先構建概念模型
- 20. EF代碼首先附加並創建代理
- 21. 如何首先在EF4代碼中將表分成多個類型?
- 22. 在EF代碼更新收藏首先
- 23. ASP.Net EntityDataSource與EF4代碼優先
- 24. EF代碼首先不產生表
- 25. 代碼先創建帖子
- 26. mvcScaffolding/EF代碼首先創建相關表列,彷彿插入相關表
- 27. EF4代碼優先:如何添加關係不添加使用代碼首先導航屬性
- 28. 實體框架代碼首先創建「鑑別器」列
- 29. 代碼首先遷移創建另外的屬性
- 30. 如何首先在EF代碼中創建持久計算列?
有趣的聯繫,謝謝。 – Jeroen
有什麼我可以做的,以避免失去我已經添加的數據? –
@jonny_d你可以使用EF遷移 –