您創建的MovieDBContext類負責處理連接到數據庫,并將Movie對象映射到數據庫記錄的任務中。你可能會問一個問題,如何指定它將連接到數據庫? 實際上,確實沒有指定要使用的數據庫,Entity Framework將預設值使用的LocalDB。 在本節中,我們將顯式地在Web.config文件中,添加應用程序的連接字符串(connection string)。
SQL Server Express LocalDB
LocalDB的是一個SQL Server Express輕量級版本的數據庫引擎。 它在用戶模式下啟動、執行。LocalDB的運行在一個特殊的SQL Server Express的執行模式,所以允許您使用MDF文件數據庫。通常情況下,LocalDB的數據庫文件都保存在web項目的App_Data文件夾下面。
注意:在生產環境的Web應用程序中,我們不推薦您使用SQL Server Express。 尤其, LocalDB不應該被用于Web應用程序的生產環境,因為它設計之初不要求使用IIS。 然而,LocalDB的數據庫能夠很容易地遷移到SQL Server或SQL Azure中。
備注:在 Visual Studio 2013 (Visual Studio 2012), LocalDB 默認會被安裝.
默認的,Entity Framework的看起來命名為為對象上下文類(如本項目MovieDBContext)的相同的一個連接字符串。有關詳細信息,請參見SQL Server Connection Strings for ASP.NET Web Applications。
打開應用程序根目錄的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篇文章匯總如下:
4. ASP.NET MVC 5 - 將數據從控制器傳遞給視圖
6. ASP.NET MVC 5 - 創建連接字符串(Connection String)并使用SQL Server LocalDB
8. ASP.NET MVC 5 - 驗證編輯方法(Edit method)和編輯視圖(Edit view)
9. ASP.NET MVC 5 - 給電影表和模型添加新字段
10. ASP.NET MVC 5 - 給數據模型添加校驗器
11. ASP.NET MVC 5 - 查詢Details和Delete方法
12. ASP.NET MVC 5 - 使用Wijmo MVC 5模板1分鐘創建應用
希望這些文章對感興趣的朋友有所幫助,另附上PDF版的匯總文檔:
《ASP.NET MVC 5 入門指南》PDF版
相關閱讀:
微軟 Build 2017 開發者大會:Azure 與 AI 的快速發展
文章列表
留言列表