原文鏈接:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-model
這一小節我們將添加一些類來管理數據庫中的電影。這些類將會成為我們的ASP.NET MVC應用中的model部分。
我們將會使用.net framework提供的數據訪問技術——眾所周知的Entity Framework來定義這些類。Entity Framework(通常簡寫成EF)支持一種叫做Code First的開發模式。Code First允許我們編寫簡單的代碼來創建model。(這些類被稱為POCO類,"plain-old CLR objects",平凡無奇的clr對象)我們可以使用這些類來創建數據庫,從而使我們的開發流程整潔快速。
添加Model類
在解決方案資源管理器中,右鍵單擊Models文件夾,選擇"Add",然后選擇"Class"。
為新建的類命名為Movie。
為Movie類添加如下五個屬性。
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; } }
我們將使用Movie類來表示數據庫里的電影數據。每一個Movie類的實例都對應數據庫表中的一行記錄,每一個屬性都對應該行記錄的一個字段。
在同樣的文件里添加如下的MovieDBContext類:
public class MovieDBContext : DbContext { public DbSet<Movie> Movies { get; set; } }
MovieDBContext類代表了Entity Framework數據庫上下文,用來處理獲取、存儲和更新Movie對象到數據庫的工作。MovieDBContext類派生自Entity Framework提供的DbContext類。
為了使用DbContext和DbSet,我們需要添加相應的命名空間:
using System.Data.Entity;
完整的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; } } }
創建一個連接字符串並且使用SQL Server LocalDB
我們創建的MovieDBContext類負責連接到數據庫並且處理數據庫中記錄到Movie對象的映射。你肯定有一個疑問:我們怎樣指定這個類要連接的數據庫。我們通過在應用程序的Web.config文件添加數據庫連接信息來實現。
打開應用程序根路徑下的Web.config文件(注意不是Views文件夾下的Web.config)。
為<connectionStrings>元素添加如下內容:
<add name="MovieDBContext" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Movie.mdf;Integrated Security=True" providerName="System.Data.SqlClient"/>
注:原文中使用的是Visual Studio 2012,使用的數據庫是Sql Server LocalDB,我使用的是Visual Studio 2010,使用的數據庫是Sql Server Express,如果使用LocalDB的話,原文的連接字符串配置是:
<add name="MovieDBContext" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" providerName="System.Data.SqlClient" />
注:我們僅僅需要在Web.config文件中添加連接字符串就行了,不需要創建數據庫,數據庫由Entity Framework負責創建,詳情在下一篇文章里介紹。
接下來就讓我們創建一個MoviesController類來展示和編輯數據.