我似乎遇到了創建MVC4應用程序的問題,其中我採用了代碼優先的方法來創建我的模型,但似乎沒有在web.config文件中創建連接字符串。無連接字符串的代碼優先更改數據源
構建的數據庫似乎建立在(localhost)\ SQLEXPRESS實例上,但我想將其更改爲外部數據源。沒有連接字符串更新我不知道如何做到這一點。
請有人指出我在正確的方向嗎?
編輯:我發現下面的圖,它突出了什麼答案都表示不錯
我似乎遇到了創建MVC4應用程序的問題,其中我採用了代碼優先的方法來創建我的模型,但似乎沒有在web.config文件中創建連接字符串。無連接字符串的代碼優先更改數據源
構建的數據庫似乎建立在(localhost)\ SQLEXPRESS實例上,但我想將其更改爲外部數據源。沒有連接字符串更新我不知道如何做到這一點。
請有人指出我在正確的方向嗎?
編輯:我發現下面的圖,它突出了什麼答案都表示不錯
你必須自己添加連接字符串
<add name="SomeDb" connectionString="Data Source=SERVENAME;Initial Catalog=DBNAME;User Id=loginid;Password=password" providerName="System.Data.SqlClient" />
此字符串的名稱應與您的上下文類的名稱匹配。
public class SomeDb: DbContext
{
public SomeDb()
: base("name=SomeDb")
{
}
}
這應該這樣做。
你必須創建具有相同名稱的連接字符串爲您DbContext
類:
<connectionStrings>
<add name="NameOfDbContext" connectionString="Data Source=ServerName\InstanceName;Initial Catalog=DatabaseName;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
您也可以使用DbContext
類的過載自己指定連接字符串:
public class MyDbContext() : base("ProductionDbContext")
{
}
現在您可以使用ProductionDbContext
作爲連接字符串。
有關更多信息,請參閱this article on MSDN。
如果您使用ADO.NET Entity Framework(.edmx),它將使用連接字符串更新您的web.config文件。但在代碼首先你需要寫在web.config中像您的連接字符串,
假設你的DbContext的樣子,
public class SampleDbContext:DbContext
{
public SampleDbContext():base("SampleDbContext")
{
}
...
...
}
你應該SampleDbContext
名稱,如建立在web.config中的連接字符串後,
希望這有助於