共用方式為


新增模型

作者:Rick Anderson

注意

本教學課程的更新版本可在此取得,它使用最新版的 Visual Studio。 新的教學課程會使用 ASP.NET Core MVC,它在本教學課程提供多種改良。

本教學課程可讓您了解 ASP.NET Core MVC 與控制器和檢視。 Razor 頁面是 ASP.NET Core 中的新替代方案,它是以頁面為基礎的程式設計模型,可讓 Web UI 的建立更容易且更有效率。 建議您在嘗試使用 MVC 版本之前,先試試 Razor 頁面教學課程。 Razor 頁面教學課程:

  • 比較容易學習。
  • 涵蓋更多功能。
  • 是開發新應用程式的建議方法。

在本節,您會新增類別來管理資料庫中的電影。 這些類別是 ASP.NET MVC 應用程式的「模型」部分。

您會使用稱為 Entity Framework 的 .NET Framework 資料存取技術來定義及使用這些模型類別。 Entity Framework (通常稱為 EF) 支援的開發範例稱為 Code First。 Code First 可讓您透過撰寫簡單的類別來建立模型物件。 (它們也稱為 POCO 類別,源自「plain-old CLR objects」。) 您接著可從您的類別立即建立資料庫,藉此啟動非常俐落快速的開發工作流程。 如果您需要先建立資料庫,您仍然可以遵循本教學課程來瞭解 MVC 和 EF 應用程式開發。 接著您可以遵循 Tom Fizmakens ASP.NET Scaffolding 教學課程來操作,內容說明資料庫優先的方法。

新增模型類別

[方案總管] 中,以滑鼠右鍵按一下 Models 資料夾,選取 [新增],然後選取 [類別]

螢幕擷取畫面所示為方案總管視窗。「模型」資料夾的右鍵功能表,和「新增」子功能表已開啟,其中已選取 [類別]。

類別命名為「Movie」。

將下列五個屬性新增至 Movie 類別:

using System;

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; }
    }
}

我們會使用 Movie 類別來代表資料庫中的電影。 Movie 物件的每個執行個體都會對應至資料庫表格中的列,而 Movie 類別的每個屬性都會對應至表格中的欄。

注意:若要使用 System.Data.Entity 和相關類別,您需要安裝 Entity Framework NuGet 套件。 請前往連結以取得進一步指示。

在相同的檔案中,新增下列 MovieDBContext 類別:

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 電影資料庫內容,此內容會在資料庫中處理 Movie 類別執行個體的擷取、儲存和更新。 MovieDBContext 衍生自 DbContext Entity Framework 所提供的基礎類別。

為了能參照 DbContextDbSet,您必須在檔案頂端新增下列 using 陳述式:

using System.Data.Entity;

您可以手動新增 using 語句來執行此動作,也可以將滑鼠停留在紅色曲線上,按一下 Show potential fixes 再按一下 using System.Data.Entity;

螢幕擷取畫面所示為 [顯示可能的修正] 功能表。其中已選取 [使用系統資料實體],且顯示「找不到」警告。

注意:數個未使用的 using 陳述式已移除。 Visual Studio 會將未使用的相依性顯示為灰色。 您可以將滑鼠停留在灰色相依性上,然後按一下 Show potential fixes 再按一下 [移除未使用的 Using] 來移除未使用的相依性。

螢幕擷取畫面所示為 [顯示可能的修正] 功能表。其中已選取 [移除不需要的 Using]。

我們終於新增模型了 (MVC 中的 M)。 在下一節中,您將會使用資料庫連結字串。