天天看點

【譯】ASP.NET MVC 5 教程 - 5:使用 SQL 伺服器 LocalDB 建立連接配接字元串

在上一節中,我們建立了MovieDBContext 類來連接配接資料庫、處理Movie 對象和資料庫記錄的映射。你可能會問我們到底使用了哪個資料庫?其實,在我們沒有指定資料庫的時候,Entity Framework 預設使用LocalDB 。在本節中我們将介紹如何在Web.config 檔案中添加一個資料庫連接配接。

LocalDB 是SQL Server Express 資料庫引擎的輕量級版本,LocalDB 運作在SQL Server Express 的特殊執行模式下,允許你使用資料庫檔案(例如 .mdf 檔案)。通常情況下,LocalDB 資料庫檔案放在解決方案的 App_Data  檔案夾下。

SQL Server Express 是不推薦用在 web 應用程式産品中的,其實準确的說,LocalDB 也不能用在 web 應用程式産品中,因為它設計的時候就沒考慮和 IIS 一起使用。然而,一個LocalDB資料庫可以很簡單的遷移到SQL Server 或 SQL Azure。

在Visual Studio 2013(或 2012)中,Visual Studio 預設安裝了LocalDB。

預設情況下,Entity Framework 會查找和對象上下文類同名的資料庫連接配接(在這個項目中是 MovieDBContext)。

打開應用程式根目錄的 Web.config 檔案(不是在Views 目錄中的Web.config)。檔案位置如下圖:

打開檔案後,找到 connectionString 節點:

在connectionString節點下面添加如下連接配接字元串:

下面是添加了MovieDBContext連接配接字元串後完整的connectionString 節點代碼:

這兩個連接配接字元串很相似,第一個的名字是DefaultConnection,是membership用來控制誰通路應用程式的資料庫。我們添加的連接配接字元串指定了LocalDB 資料庫名字是 Movie.mdf ,放在App_Data 檔案夾。在我們的教程中沒有用到membership資料庫,關于membership、authentication 和 security,我們會在以後的教程中進行介紹。

資料庫連接配接字元串的名字必須和 DbContext 類同名。

事實上,你不需要添加 MovieDBContext 連接配接字元串,如果你沒有明确指定連接配接字元串,Entity Framework 會在使用者目錄建立一個 LocalDB 資料庫,名字就是 DbContext 類的全名(在本示例中檔案名是 <code>MvcMovie.Models.MovieDBContext</code>)。你可以為資料庫指定任何你喜歡的名字,隻要它有MDF 字尾就行,例如,我們可以用 MyFilms.mdf 來命名。

接下來,我們要建立一個新的 MoviesController 類,用來顯示電影資料和讓使用者來建立新的電影清單。