2015-10-07 23 views
1

我要讓實體框架顯示我的消息:「沒有數據庫」(如果不存在的數據庫),並問我要創建數據庫或沒有; 我使用CodeFirst。如何讓entityFramework在創建db之前詢問我;

+0

如果您對這樣的問題回答「否」,您的申請是否可以工作?如果不是的話,爲什麼你會打擾這種警報信息? – niksofteng

+0

如果我得到消息,我將配置一些設置(服務器,dbName,dbLocation,身份驗證模式),最後創建Db; –

回答

3

你在「DbMigrationsConfiguration」類,你應該關閉任何自動遷移:

public Configuration() 
{ 
    AutomaticMigrationsEnabled = false; 
} 

現在在啓動時,它不會做的比拋出DBMigrationException當您第一次訪問該數據庫的任何其他。因此,您可以訪問數據庫之前,請檢查是否存在使用以下:

dbContext.Database.Exists(); 

然後你可以問你關於服務器的位置等問題,然後用創建數據庫:

var migrator = new DbMigrator(new Configuration()); 
migrator.Update(); 
0

這不是內置到實體框架的東西,也沒有道理將其建成實體框架,因爲它是如此具體,無論你拿出不會在其他任何直接使用您的具體應用應用。

您可以簡單地配置EF爲不自動創建任何數據庫。如果連接到數據庫失敗,請檢查您是否可以連接到服務器。如果可以連接到服務器,請檢查數據庫是否存在。如果數據庫不存在,請提供創建它。

相關問題