我有一個帶有代碼優先實體框架的MVC Web應用程序。我們將這個應用程序安裝在各種計算機上作爲本地應用我進行了遷移以升級數據庫(在這種情況下,我添加了一個新表),並且在升級後運行遷移後,我想將初始數據插入數據庫,以便用戶可以添加/編輯/刪除它們,但是我不希望桌子第一次變空。EF遷移後插入初始值
有沒有辦法在升級時自動執行它,而無需手動運行SQL腳本?
我有一個帶有代碼優先實體框架的MVC Web應用程序。我們將這個應用程序安裝在各種計算機上作爲本地應用我進行了遷移以升級數據庫(在這種情況下,我添加了一個新表),並且在升級後運行遷移後,我想將初始數據插入數據庫,以便用戶可以添加/編輯/刪除它們,但是我不希望桌子第一次變空。EF遷移後插入初始值
有沒有辦法在升級時自動執行它,而無需手動運行SQL腳本?
是的。您基本上編寫了一個類來有條件地檢查並插入值,然後將此類鏈接到實體框架數據庫初始化程序。每次執行遷移時它都會運行,但我認爲您可以在運行時準確更改(例如,應用程序啓動)。
此鏈接會給你粗略的想法: Entity Framework Inserting Initial Data On Rebuild
我有我的電腦上一個確切的代碼示例,但我不會它,直到明天。如果這個鏈接不完全符合你的要求,我明天可以向你發送一些代碼。
搜索EF播種的數據庫,這可能幫助你 – brykneval
種子不僅在第一次創建數據庫時?只需經過特定的遷移 – TamarG
並且我不希望我的代碼將運行多次,如果我將來添加更多遷移... – TamarG