起飛網 ASP.NET MVC 5 學習教程目錄:
- 添加控制器
- 添加視圖
- 修改視圖和布局頁
- 控制器傳遞數據給視圖
- 添加模型
- 創建連接字符串
- 通過控制器訪問模型的數據
- 生成的代碼詳解
- 使用 SQL Server LocalDB
- Edit方法和Edit視圖詳解
- 添加查詢
- Entity Framework 數據遷移之添加字段
- 添加驗證
- Details 和 Delete 方法詳解
在上一節中,我們創建了MovieDBContext 類來連接數據庫、處理Movie 對象和數據庫記錄的映射。你可能會問我們到底使用了哪個數據庫?其實,在我們沒有指定數據庫的時候,Entity Framework 默認使用LocalDB 。在本節中我們將介紹如何在Web.config 文件中添加一個數據庫連接。
SQL Server Express LocalDB
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)。文件位置如下圖:
圖1:Web.config文件的位置
打開文件后,找到 connectionString 節點:
圖2:connectionString節點
在connectionString節點下面添加如下連接字符串:
代碼清單1:MovieDBContext 連接字符串
<add name="MovieDBContext" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" providerName="System.Data.SqlClient" />
下面是添加了MovieDBContext連接字符串后完整的connectionString 節點代碼:
代碼清單2:完整的connectionString代碼
<connectionStrings> <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-MvcMovie-20130629121520.mdf;Initial Catalog=aspnet-MvcMovie-20130629121520;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,是membership用來控制誰訪問應用程序的數據庫。我們添加的連接字符串指定了LocalDB 數據庫名字是 Movie.mdf ,放在App_Data 文件夾。在我們的教程中沒有用到membership數據庫,關於membership、authentication 和 security,我們會在以后的教程中進行介紹。
數據庫連接字符串的名字必須和 DbContext 類同名。
代碼清單3:Movie.cs
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 來命名。
接下來,我們要創建一個新的 MoviesController 類,用來顯示電影數據和讓用戶來創建新的電影列表。
本文轉自起飛網,原文地址:http://www.qeefee.com/mvc/mvc-5-creating-a-connection-string