建立連線字串(Connection String)並使用SQL Server LocalDB
您建立的MovieDBContext類負責處理連線到資料庫,並將Movie物件對映到資料庫記錄的任務中。你可能會問一個問題,如何指定它將連線到資料庫? 實際上,確實沒有指定要使用的資料庫,Entity Framework將預設值使用的LocalDB。 在本節中,我們將顯式地在Web.config檔案中,新增應用程式的連線字串(connection string)。
SQL Server Express LocalDB
LocalDB的是一個SQL Server Express輕量級版本的資料庫引擎。 它在使用者模式下啟動、執行。LocalDB的執行在一個特殊的SQL Server Express的執行模式,所以允許您使用MDF檔案資料庫。通常情況下,
注意:在生產環境的Web應用程式中,我們不推薦您使用SQL Server Express。 尤其, LocalDB不應該被用於Web應用程式的生產環境,因為它設計之初不要求使用IIS。 然而,LocalDB的資料庫能夠很容易地遷移到SQL Server或SQL Azure中。
備註:在 Visual Studio 2013 (Visual Studio 2012), LocalDB 預設會被安裝.
開啟應用程式根目錄的Web.config檔案。(不是View資料夾下的Web.config檔案。)開啟紅色高亮標記的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
<connectionStrings> <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-MvcMovie-20130603030321.mdf;Initial Catalog=aspnet-MvcMovie-20130603030321;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" />
這兩個連線字串非常相似。第一個連線字串命名為DefaultConnection的,被用於控制可以訪問應用程式的成員鑑權資料庫。您已新增的連線字串 (connection string) 顯示位於App_Data資料夾中的 一個Movie.mdf檔案,資料庫命名為Movie.mdf。 在本教程中,我們將不使用會員資料庫有關會員,認證和安全性的更多資訊,請參閱教程: Deploy a Secure ASP.NET MVC app with Membership, OAuth, and SQL Database to a Windows Azure Web Site。
連線字串(connection string)的名稱必須匹配DbContext類的名稱。
using System; using System.Data.Entity; namespace MvcMovie.Models { public class Movie { public int ID { get; set; } public string Title { get; set; } public DateTime ReleaseDate { get; set; } public string Genre { get; set; } public decimal Price { get; set; } } public class MovieDBContext : DbContext { public DbSet<Movie> Movies { get; set; } } }
實際上, 您並不需要新增MovieDBContext連線字串。 如果沒有指定一個連線字串,Entity Framework將會在使用者目錄中建立一個LocalDB資料庫的DbContext類的(如本例中MvcMovie.Models.MovieDBContext)。您也資料庫命名為任何你喜歡的東西,只要它具有.MDF的字尾。例如,我們可以命名資料庫MyFilms.mdf。經過了本節連線資料庫知識的學習,大家不妨把這些知識運用到MVC的實際開發中。當然,也不讓忘記藉助一些開發工具。使用 ComponentOne Studio ASP.NET MVC 這款輕量級控制元件,可以助力你的MVC開發,在開發效率大大提高的同時,工作量也會大大減少。
接下來,您將建立一個新的MoviesController類,您可以用它來展示電影資料,並允許使用者建立新的影片列表。
-----------------------------------------------------------------------------------------
《ASP.NET MVC 5 入門指南》12篇文章彙總如下:
希望這些文章對感興趣的朋友有所幫助,另附上PDF版的彙總文件:
相關閱讀: