ASP.NET MVC3 快速入門-第四節 添加一個模型

來源:互聯網
上載者:User

在本節中我們將追加一些類來管理資料庫中的電影。這些類將成為我們的MVC應用程式中的“模型”部分。

    我們將使用一個.NET Framework的被稱之為“Entity Framework”的資料訪問技術來定義這些模型類,並使用這些類來進行操作。Entity Framework(通常被簡稱為“EF”)支援一個被稱之為“code-first”的開發範例。Code-first允許你通過書寫一些簡單的類來建立模型對象。你可以通過訪問這些類的方式來訪問資料庫,這是一種非常方便快捷的開發模式。

4.1  利用NuGet來安裝EFCodeFirst

    我們可以利用NuGet包管理器(安裝ASP.NET MVC3時會自動安裝)來把EFCodeFirst類庫添加到我們的MvcMovie工程中。這個類庫使得我們可以直接使用code-first。點擊“工具”菜單下的“Library Package Manager”子功能表下的“Add Library Package Reference”菜單選項,4-1所示。

圖4-1 使用NuGet包管理器

    點擊“Add Library Package Reference”菜單選項後,將會彈出一個對話方塊,標題為“Add Library Package Reference”,4-2所示。

圖4-2 “Add Library Package Reference”對話方塊

    預設狀態下,左邊的“All”選項處於選擇狀態。因為還沒有安裝任何包,所以右邊面板中顯示“找不到任何項”。點擊左邊面板中的“online”選項,NuGet包管理器將會在伺服器上檢索所有當前能夠擷取的包,4-3所示。

圖4-3 NuGet包管理器正在檢索包資訊

    伺服器上有幾百個當前能夠擷取的包,現在我們只關注EFCodeFirst包。在右上方的搜尋輸入框中輸入“EFCode”。在檢索結果中,選擇EFCodeFirst包,並且點擊Install按鈕安裝包,4-4所示。

圖4-4 選擇EFCodeFirst包並安裝

    點擊了install按鈕後,會彈出一個接受許可證視窗,4-5所示,在這個視窗中必須要點擊“I Accept”按鈕,接受許可證條款,安裝才能繼續進行。

圖4-5 接受許可證視窗

    安裝完畢後,點擊close按鈕。我們的MvcMovie工程中會自動載入EntityFramework程式集,其中包含了EFCodeFirst類庫。

圖4-6 安裝完畢後EntityFramework程式集被自動載入

4.2  添加模型類

    在方案總管中,滑鼠右擊Models檔案夾,點擊“添加”菜單下的“類”,4-7所示。

圖4-7 添加模型類

    點擊“類”功能表項目後,會彈出“添加新項”對話方塊,在該對話方塊中將類名命名為“Movie”,4-8所示。

圖4-8 在“添加新項”對話方塊中為類命名

    然後點擊添加按鈕,觀察方案總管中,Models檔案夾下添加了一個Movie.cs類定義檔案,並且該檔案呈開啟狀態,4-9所示。

圖4-9 Movie.cs類定義檔案已被添加並呈開啟狀態

    在Movie.cs檔案中追加如下所示的五個屬性。

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對象的執行個體對應於資料表中的一行,Movie類中的每一個屬性被映射到資料表的每一列。

    在同一個Movie.cs檔案中,追加如下所示的MovieDBContext類。

public class MovieDBContext : DbContext 

{

    public DbSet<Movie> Movies { get; set; } 

}

    MovieDBContext類代表了Entity Framework中的movie資料庫的內容物件,用來處理資料的存取與更新。MovieDBContext對象繼承了Entity Framework中的DbContext基礎類。為了能夠引用DbContext類,你需要在Movie.cs檔案的頭部追加如下所示的using語句。

using System.Data.Entity;

    完整的Movie.cs檔案中的代碼如代碼清單4-1所示。

    代碼清單4-1 完整的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; }

    }

}

    如果要從資料庫中存取資料,類似以上所示的代碼是必須要寫的。在下一節中,我們將要建立一個新的MoviesController類,用來顯示資料庫中的資料,並且允許使用者建立一個新的movie(電影)的列表。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.