標籤:models config string pac -- cin product mvc5 文章
您建立的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篇文章匯總如下:
1. ASP.NET MVC 5 - 開始MVC 5之旅
2. ASP.NET MVC 5 - 控制器
3. ASP.NET MVC 5 - 視圖
4. ASP.NET MVC 5 - 將資料從控制器傳遞給視圖
5. ASP.NET MVC 5 - 添加一個模型
6. ASP.NET MVC 5 - 建立連接字串(Connection String)並使用SQL Server LocalDB
7. ASP.NET MVC 5 - 從控制器訪問資料模型
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分鐘建立應用
[轉]ASP.NET MVC 5 - 建立連接字串(Connection String)並使用SQL Server LocalDB