2011-08-24 77 views
2

淨MVC3應用使用VS2010 標籤,其允許在選項卡中配置數據庫的ConnectionString如下 如何配置連接字符串中爲ASP.Net MVC3

如何過我的主機服務器不支持它,並迫使我把連接字符串放在標籤內如下

我該如何使用MVC 3實體框架代碼第一個基於模型的應用程序的ConnectionString。是否有可能把連接字符串內的選項卡,如果它可能那麼我怎麼可以在我的ASP.Net MVC3實體框架代碼第一模型中使用它?

回答

0

Finaly做得太多 - [R & d後,我得到了成功部署,沒有任何的疑難問題數據庫連接正常工作嘗試部署共享託管服務器上的實體框架代碼優先模式我MVC3應用程序共享託管服務器上我MVC3應用但它不允許我使用共享託管服務器上的數據庫創建和刪除權限。我嘗試了太多,它應該允許我使用Entity Framework Code First託管我的應用程序,但由於共享主機數據庫服務器上的訪問權限有限,我無法執行ID。最後,我需要找到一些替代方案,我嘗試使用實體框架數據庫優先模型部署我的MVC3應用程序。它會爲您的模型類生成edmx文件,但您可以使用ADO.Net DBContext代碼生成器的T4模板將其更新爲poco類。請觀看Julie Lerman的以下視頻以獲得更多關於它的信息。

http://msdn.microsoft.com/en-us/data/gg702905

一旦你開發你的應用程序,如上面的視頻,在連接字符串與您的託管服務器數據庫值更改你的web.config設置和發佈應用程序,並上傳你的FTP服務器上。你發現它工作沒有任何問題。

2

使用connectionStrings節,不是的appSettings

<connectionStrings> 
     <add name="MyApp" connectionString="DataSource=|DataDirectory|MyApp.sdf" providerName="System.Data.SqlServerCe.4.0" /> 
    </connectionString> 

這裏假設你的DbContext類也被稱爲MyApp的。您需要在上面的連接字符串中更改MyApp以匹配DbContext類的名稱。

該連接字符串還假定您的項目中有一個App_Data文件夾。如果你不這樣做,你可以通過右鍵點擊你的web項目來添加它,選擇添加,Asp.Net文件夾,然後是App_Data。

如果所有設置都正確,當您運行應用程序並擊中使用DbContext的頁面時,它將自動在App_Data文件夾中生成sdf文件。你也可以使用一個普通的SQL Server連接字符串,但是CE是一種很好的方式,可以確保在你開始的時候所有事情都以你喜歡的方式工作。

+0

嗨內森,如果我使用connectionString,因爲你提到它的工作正常在我的本地機器上,但它不能在我的Web服務器上工作,它給我錯誤的無效提供者名稱。當我向Hosting Provider請求時,他們建議我在web.config中配置連接字符串標記,而不使用提供者名稱。你知道如何配置web.config文件的標籤中的連接字符串,並將其用於MVC3實體框架代碼優先模型的應用程序嗎? –

+0

你在服務器上使用什麼類型的存儲?它是一個真正的SQL服務器嗎? SQLCE? MySQL的?我不相信你可以使用appSettings節來存儲實體框架使用的連接字符串。 –

+0

這是我的共享虛擬主機服務器上的SQL Server。我發現了Database.DefaultConnectionFactory的一個選項,我們可以在其中傳遞存儲在中的連接字符串。但我不知道如何在Global.asax中配置它。我們可以直接在控制器頁面上使用它,我們需要以下面的方式觸發查詢Database.DefaultConnectionFactory.CreateConnection(System.Configuration.ConfigurationManager.AppSettings [「ConnctionString」]。ToString());如果您有任何想法,請告訴我。 –