簡體   English   中英

從web.config獲取連接字符串以在EF POCO中使用?

[英]Get connection string from web.config to use in EF POCO?

我注意到,當我使用EF創建模型優先的數據庫時,它會忽略web.config連接字符串,而在后台執行此操作。 然后,我找到了一種在構造函數中設置自己的連接字符串的方法,如下所示。

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時發生錯誤。

您可以嘗試如下操作:

public MainDataContext() :
        base(typeof(MainDataContext).Name)
    {
    }

您確定Web.config中的連接字符串聲明正確嗎? 像這樣:

<?xml version="1.0"?>
<configuration>
<connectionStrings>
    <add name="MyDatabase" connectionString="server=localhost;User Id=user;password=password;Persist Security Info=True;database=mydatabase" providerName="MySql.Data.MySqlClient" />
</connectionStrings>
</configuration>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM