2011-10-02 64 views
0

我已經創建了一個項目在MVC 3使用代碼第一和塊, 而我想清除一些事情之前發佈到我的共享主機: 在我的項目中我有一個類名稱:IchudShulContextIchudShul是我的項目名稱) 在我的sql服務器快遞中,它創建了一個數據庫名稱:IchudShul.Models.IchudShulContext.dbo 它使我的共享主機DB的名稱不同嗎? 還是應當符合下列之一:IchudShul/IchudShulContext 我本地的ConnectionStrings是這樣的:發佈Db後創建使用EF代碼第一

connectionString="Data Source=MyPc-MAINPC\SQLEXPRESS;Initial Catalog=IchudShul.Models.IchudShulContext;Integrated Security=True" 
    providerName="System.Data.SqlClient" /> 

感謝

回答

1

基於Code-First約定,您的web.config中的ConnectionString名稱應該與您的上下文具有相同的名稱。數據庫名稱並不重要。在你的情況下,在你的web.config:

<connectionStrings> 
    <add name="IchudShulContext" providerName="System.Data.SqlClient" 
    connectionString="Data Source=MyPc-MAINPC\SQLEXPRESS;Initial Catalog=WHATEVER_YOUR_DB_NAME_IS;Integrated Security=True" /> 
</connectionStrings> 

如果你想使用慣例,確保屬性是:IchudShulContext。就這樣。填寫WHATEVER_YOUR_DB_NAME_IS,無論你的數據庫名稱是什麼。

0

你的共享主機DB可以任意取名。

您的ConnectionString應該更新,需要更新指向您的數據庫。那是什麼,你需要從你的共享主機提供商那裏知道。

0

只要數據庫對您的數據庫管理系統有效,您就可以爲數據庫命名。唯一應該與您的datacontext名稱匹配的是您的web.config文件的連接字符串部分中的連接名稱。