我正在研究一個多承租人應用程序,我們決定爲每個承租人擁有一個數據庫。我正在編寫一個服務來爲新客戶創建和初始化一個新的數據庫。多個上下文在同一個數據庫上定義。到目前爲止,我已經使用nuget update-database讓所有上下文創建它們的數據庫對象。現在我需要在運行時做同樣的事情。我想:實體框架6:創建具有多個上下文的數據庫
context.Database.Initialize(false); context.Database.CreateIfNotExists();
但只有第一個背景下產生其表。我知道一個上下文在第一次使用時初始化數據庫,但顯然它不會在數據庫已經存在的情況下使用。我嘗試了幾個初始化器,但沒有運氣。我不想編寫一個結合所有其他上下文的新上下文,因爲它很難維護。我知道另一個選項是在部署時生成sql腳本並在運行時執行它們。這將是我最後的手段。
任何建議,非常感謝。
所不同的是在這種情況下,雖然需要應用程序代碼不NuGet包管理器來完成數據庫初始化。 –