[ASP.NET MVC] 建立SQL Server LocalDB

[ASP.NET MVC] 建立ASP.NET MVC 的 SQL Server LocalDB

建立 SQL Server LocalDB​

先前建立的MovieDBContext Class,是用來連接資料庫,並將資料庫配對到Movie顯示。

至於將指定哪一個連接的資料庫呢?實際上,並沒有指定要連接哪一個資料庫,Entity Framework預設指定為LocalDB

接下來,我們將在 Web.config 加入指定的連線字串。

什麼是 SQL Server Express LocalDB​ ?

LocalDB SQL Server Express 的執行模式,專供開發人員使用。LocalDB安裝時會複製一個 SQL Server Express 執行個體所需的最少檔案。 安裝 LocalDB 後,開發人員可透過使用特殊連接字串來起始連接。 連接時,就會自動建立及啟動必要的 SQL Server 基礎結構,應用程式不需複雜或耗時的組態工作即可開始使用資料庫。 Developer Tools 為開發人員提供 SQL Server Database Engine,讓他們撰寫和測試 Transact-SQL 程式碼,而不需要管理 SQL Server 的完整伺服器執行個體。LocalDB使用.MDF檔案作為資料庫。通常情況下,LocalDB資料庫的.MDF檔案都存放在Web項目中的App_Data資料夾裡。

不建議在建立Web應用程序使用的SQL Server Express。LocalDB尤其不應被用於建立Web應用程序,因為它無法與IIS作用。但是,數據庫的LocalDB可以很容易地遷移到SQL Server或SQL Azure上。

在Visual Studio2013,LocalDB會預設與Visual Studio一起安裝。預設情況下,Entity Framework會依照連線字串的名稱,找尋相同名稱的Class(在這個專案如:MovieDBContext)。

 

開起下圖所示,應用程式目錄底下的Web.config 資料夾( 不是View 資料夾底下的Web.config )

開啟後,找到<connectionStrings>的標籤

Web.config <connectionStrings>標籤中,增加以下連線字串。

  <add name="MovieDBContext" 
   connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" 
   providerName="System.Data.SqlClient" /> 

在Web.config中,添加新的ConnectionString 後,程式碼如下:

  <connectionStrings>
   <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-MyMVC-20160523113810.mdf;Initial Catalog=aspnet-MyMVC-20160523113810;Integrated Security=True"
      providerName="System.Data.SqlClient" />
   <add name="MovieDBContext" 
   connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" 
   providerName="System.Data.SqlClient" /> 
  </connectionStrings>

這兩個連線字串非常的相似,第一個名稱為DefaultConnection的連線字串是用來控制誰可以取得會員資料庫的應用程式 。

第二個我們所添加的,名稱為MovieDBContext的連線字串。指定了在App_Data資料夾中的LocalDB資料庫,名為Movies.mdf的一個資料庫中。

 

連線字串的命名必須與 DbContext Class的名稱配對。

 

事實上,並不需要增加MovieDBContext的連線字串。假如不指定連線字串的話,Entity Framework會依照目錄中的DbContext class,產生一個LocalDB的資料庫。(例如:MyMVC.Models.MovieDBContext)

而你也可以命名你的資料庫名稱,只要是 .MDF 結尾即可。例如,我們也可以命名資料庫名稱為 MyFilms.mdf

接下來,將會建立一個新的MoviesController的Class,用來顯示與建立電影清單。

 

下一篇  從Controller取得Model的資料

 

 END 

回目錄