2016-11-27 143 views
0

我使用實體框架6.我有一個app.config文件在我的項目,它有一個連接字符串,如下面實體框架代碼首先定義數據庫名稱

<connectionStrings> 
    <add name="ConnStrDev" 
     connectionString="Server=.\SqlExpress;Database=Dev;Trusted_Connection=True;"/> 
</connectionStrings> 

當我通過enable-migrations命令,EF創建這個數據庫使用此數據庫的名稱,如ConnStrDev

但我的期望是使用數據庫名稱,如Dev,因爲連接字符串的數據庫名稱。

DbContext源看起來像這樣

public MyDbContext() : base("ConnStrDev") 

爲什麼EF使用ConnStrDev數據庫名稱,而不是Dev

謝謝

+0

確保您的'app.config'文件是啓動項目。例如。當Web(或任何其他)項目可能指向Dev數據庫時,數據項目可能包含指向ConnStrDev數據庫的配置的遷移。 –

回答

1

EF使用連接字符串名稱在app.config數據庫名。 您可以在配置文件重命名連接字符串名稱和dbcontext

public MyDbContext() : base("dev") 


<connectionStrings> 
    <add name="dev" 
     connectionString="Server=.\SqlExpress;Database=Dev;Trusted_Connection=True;"/> 
</connectionStrings> 
相關問題