2015-01-21 71 views
1

我的理解是,約定是在DBContext方法中重寫的OnModelCreating方法中使用Entity Framework Fluent API;並且這隻在數據庫創建期間運行。EF Fluent API可以在數據庫創建後

這會讓我相信,如果您每次發生更改時都要刪除並創建數據庫,則Fluent API只能多次使用(例如在開發數據庫時)。

我的問題是:有沒有辦法利用Fluent API進行數據庫配置,僅用於數據庫更新,例如運行數據庫遷移命令「update-database」時?

回答

1

DbContext.OnModelCreating documentation

典型地,該方法被稱爲僅在創建派生上下文的第一個實例一次。然後,該上下文的模型將被緩存,並用於應用程序域中上下文的所有更多實例。

因此,在創建模型時調用它,而不僅僅是在創建數據庫時調用它。如果在添加遷移後或在發佈新版本後啓動網站時致電Update-Database,則會發生這種情況。

參考文獻:

https://stackoverflow.com/a/6181867/150342

http://elegantcode.com/2012/04/12/entity-framework-migrations-tips/

+1

謝謝...我想我只是想確定最好的辦法就是要能夠發展自己的數據庫,我開發的MVC應用程序,添加模型等。看起來好像有兩個根,指向初始化程序在Chages之後的Drop和Recreates,或通過Data Migrations/Package Manager Console顯式應用更改。前者似乎對我更直接。偏好反饋意見。 – 2015-01-22 01:02:06

+1

從上面的優雅代碼鏈接。提示號碼1 - 「不要使用自動遷移自動遷移對於演示和概念的快速驗證很有趣,但在生產應用程序中沒有位置」 – Colin 2015-01-22 09:53:15

相關問題