2014-11-08 80 views
1

注意:不確定問題是否以正確的方式提出。這就是我對問題的看法,但完全有可能從完全不同的角度來解決問題,而我由於無知而不知道這一點。維護網站的在線(Azure)和離線版本

問題
是否有一個徹頭徹尾的現成,MVC解決方案提供一個內置的數據庫?如果是這樣,我如何找出它的連接字符串?

當前字符串是Azure的,看起來像這樣(坦白地說,它嚇倒了我的生活中的排泄物,因爲我不瞭解它的大部分)。

<add name="DefaultConnection" connectionString=" 
    Data Source=(LocalDb)\v11.0; 
    Initial Catalog=aspnet-Plong-20141107210818; 
    Integrated Security=SSPI; 
    AttachDBFilename=|DataDirectory|\aspnet-Plong-20141107210818.mdf" 
    providerName="System.Data.SqlClient" /> 

背景信息
我正在開發一個網站,它發佈到Azure上。它與數據庫有一些聯繫,我使用Code First和Entity Framework。一切都很好(可能除了事實上上傳和初始化頁面需要幾秒鐘才能顯示,如果我只對Razor的標記進行了更改,這很令人討厭)。

實際上,所有的設置都非常自動化,而且我根本不需要配置太多。現在,由於以下原因,它正在坐在設備中咬我。

我需要能夠在本地主機上運行我的站點(使用F5,如果您願意的話),因爲我將脫機(或至少在非常糟糕的連接中)。我現在可以這樣做,除了聯繫數據庫引用的頁面,我在下面得到錯誤。

我得到了什麼問題是 - 沒有本地數據庫首先使用代碼設置。我不知道是否有一個懶惰的人的解決方案(使用一些內置的數據庫和代碼優先)。如果是這樣,我在哪裏設置它?我更喜歡保持對默認連接字符串的引用盡可能完整,但如果我需要編輯它(或者,很可能添加一個新引用並且引用它),我該如何學習正確的連接字符串? (是的,我知道,這是價格我付服用討巧讓Azure中配置了我的一切。在恥辱低着頭。)

{「型號的兼容性無法進行檢查,因爲該數據庫不包含模型元數據只有在使用Code First或Code First Migrations創建的數據庫時才能檢查模型兼容性。「}

回答

1

據我所知,這不是一個到SQL Azure的連接字符串,而是一個本地(開發)數據庫。它會在App_Data文件夾中創建一個.mdf文件。您可以在Azure儀表板中的某處找到連接字符串到SQL Azure。恩生產中使用的示例dev之間我切換:

public MyContext : DbContext 
    { 
     public MyContext() 
#if DEBUG 
      : base("development") 
#else 
      : base("production") 
#endif 
     { 
     } 
    } 

但是,你也可以使用的web.configweb.debug.configweb.release.config XML轉換。請注意,web.debug.config在本地運行應用程序時並未真正使用,因此請將開發連接字符串放在web.config中,並以發佈模式發佈您的應用程序,以便發生web.release.config的XML轉換。

編輯:獲取SQL Azure的連接字符串

到了管理門戶,然後單擊SQL數據庫。點擊數據庫並轉到儀表板。在右側看到「顯示連接字符串」。它看起來像這樣:

Server=tcp:xxx.database.windows.net,1433;Database={your_db_name};User ID={your_user_id};Password={your_password_here};Trusted_Connection=False;Encrypt=True;Connection Timeout=30; 
+0

實際上,我從Azure門戶獲得連接字符串。這就是爲什麼我認爲這是「azury」。也許這是因爲我的網站(上傳到Azure)和數據庫都駐留在雲中的同一臺服務器上?我怎樣才能找到連接字符串到我在Azure上的數據庫? (正如我所提到的 - 這裏顯示的那個,我從那裏得到,但也許我看錯了地方...) – 2014-11-10 12:58:01

+0

@KonradViltersten我修改了我的答案與有關SQL Azure連接字符串的信息。 – Marthijn 2014-11-10 13:14:32