我注意到,當我使用EF創建模型優先數據庫時,它忽略了web.config連接字符串,並在後臺執行它自己的操作。然後,我找到了一種方法,像這樣在構造函數中設置自己的連接字符串。從web.config中獲取連接字符串以在EF POCO中使用?
public class MainDataContext : DbContext
{
public MainDataContext()
{
this.Database.Connection.ConnectionString = "MY CONNECTION STRING THAT IS ACTUALLY USED";
}
}
問題:如何強制/設置它使用來自web.config的連接字符串?
我被告知,如果你的連接字符串的名字就像你的數據上下文一樣,它會起作用,但它對我沒有任何作用。我知道肯定它不起作用,如果我將它命名爲DefaultConnectionString
。
<add name="MainDataContext" providerName="System.Data.SqlClient"
connectionString="Server=(LocalDB)\\v11.0;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|ProjectDB.mdf;" />
當我嘗試從控制檯執行update-database -v -f
時發生錯誤。
您正在使用哪個版本的EF? – MMK
@MMK 5.0?一個自帶的VS2012(MVC4) – sed
嘗試類似於公共MainDataContext() :base(ConfigurationManager.ConnectionStrings [「MainDataContext」]) { } – MMK