在本節中,您將添加一些類,這些類用于管理數據庫中的電影。這些類是ASP.NET MVC 應用程序中的"模型(Model)"。
您將使用.NET Framework 數據訪問技術[Entity Framework](http://msdn.microsoft.com/en-us/library/bb399572(VS.110).aspx),來定義和使用這些模型類。Entity Framework(通常稱為 EF) 是支持代碼優先的開發模式。代碼優先允許您通過編寫簡單的類來創建對象模型。(相對于"原始的CLR objects",這也被稱為POCO 類)然后可以從您的類創建數據庫,這是一個非常干凈快速的開發工作流程。
# 添加模型類
在**解決方案資源管理器中**,右鍵單擊***模型***文件夾,選擇**添加**,然后選擇**類**.
[](http://images.cnblogs.com/cnblogs_com/powertoolsteam/201212/20121217121613614.png)
輸入*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`對象的每個實例將對應數據庫表的一行,` ``Movie`類的每個屬性將對應表的一列。
在同一文件中,添加下面的`MovieDBContext`類:
~~~
public class MovieDBContext : DbContext
{
public DbSet<Movie> Movies { get; set; }
}
~~~
`MovieDBContext`類代表Entity Framework的電影數據庫類,這個類負責在數據庫中獲取,存儲,更新,處理 `Movie` 類的實例。`MovieDBContext`繼承自Entity Framework的 `DbContext`基類。
為了能夠引用`DbContext`和`DbSet`,您需要在文件的頂部添加以下`using`語句:
~~~
using System.Data.Entity;
~~~
下面顯示了完整的*Movie.cs*文件。(一些不用的using語句已經被刪除了)
~~~
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*文件。(不是*View*文件夾下的*Web.config*文件。)打開紅色高亮標記的*Web.config*文件。
[](http://images.cnblogs.com/cnblogs_com/powertoolsteam/201212/201212171216151778.png)
在*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;Initial Catalog=aspnet-MvcMovie-2012213181139;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>
~~~
為了表示和存儲電影數據到數據庫中,上面少量的代碼和XML是你所需要的一切。
接下來,您將創建一個新的MoviesController類,您可以用它來??展示電影數據,并允許用戶創建新的影片列表。
--------------------------------------------------------------------------------------------------------------------
譯者注:
本系列共9篇文章,翻譯自Asp.Net MVC4 官方教程,由于本系列文章言簡意賅,篇幅適中,從一個示例開始講解,全文最終完成了一個管理影片的小系統,非常適合新手入門Asp.Net MVC4,并由此開始開發工作。9篇文章為:
1. Asp.Net MVC4 入門介紹
· 原文地址:[http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/intro-to-aspnet-mvc-4](http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/intro-to-aspnet-mvc-4)
· 譯文地址:[http://www.cnblogs.com/powertoolsteam/archive/2012/11/01/2749906.html](http://www.cnblogs.com/powertoolsteam/archive/2012/11/01/2749906.html)
2. 添加一個控制器
· 原文地址:[http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-controller](http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-controller)
· 譯文地址:[http://www.cnblogs.com/powertoolsteam/archive/2012/11/02/2751015.html](http://www.cnblogs.com/powertoolsteam/archive/2012/11/02/2751015.html)
3. 添加一個視圖
· 原文地址:[http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-view](http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-view)
· 譯文地址:[http://www.cnblogs.com/powertoolsteam/archive/2012/11/06/2756711.html](http://www.cnblogs.com/powertoolsteam/archive/2012/11/06/2756711.html)
4. 添加一個模型
· 原文地址:[http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-model](http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-model)
· 譯文地址:[http://www.cnblogs.com/powertoolsteam/archive/2012/12/17/2821495.html](http://www.cnblogs.com/powertoolsteam/archive/2012/12/17/2821495.html)
5. 從控制器訪問數據模型
· 原文地址:[http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/accessing-your-models-data-from-a-controller](http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/accessing-your-models-data-from-a-controller)
· 譯文地址:
6. 驗證編輯方法和編輯視圖
· 原文地址:[http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/examining-the-edit-methods-and-edit-view](http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/examining-the-edit-methods-and-edit-view)
· 譯文地址:
7. 給電影表和模型添加新字段
· 原文地址:[http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-new-field-to-the-movie-model-and-table](http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-new-field-to-the-movie-model-and-table)
· 譯文地址:
8. 給數據模型添加校驗器
· 原文地址:[http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-validation-to-the-model](http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-validation-to-the-model)
· 譯文地址:
9. 查詢詳細信息和刪除記錄
· 原文地址:[http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/examining-the-details-and-delete-methods](http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/examining-the-details-and-delete-methods)
· 譯文地址:
- 前言
- 入門介紹
- 添加一個控制器
- 添加一個視圖
- 添加一個模型
- 從控制器訪問數據模型
- 驗證編輯方法和編輯視圖
- 給電影表和模型添加新字段
- 給數據模型添加校驗器
- 查詢詳細信息和刪除記錄
- 第三方控件Studio for ASP.NET Wijmo MVC4 工具應用
- ASP.NET MVC 5-開始MVC5之旅
- 控制器
- 視圖
- 將數據從控制器傳遞給視圖
- 添加一個模型
- 創建連接字符串(Connection String)并使用SQL Server LocalDB
- 從控制器訪問數據模型
- 驗證編輯方法(Edit method)和編輯視圖(Edit view)
- 給電影表和模型添加新字段
- 給數據模型添加校驗器
- 查詢Details和Delete方法