新增模型

Rick Anderson

注意

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

本教學課程可讓您了解 ASP.NET Core MVC 與控制器和檢視。 Razor 頁面是 ASP.NET Core 中的新替代方案,它是以頁面為基礎的程式設計模型,可讓 Web UI 的建立更容易且更有效率。 我們建議您在嘗試 MVC 版本之前,先試試 Razor Pages 教學。 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 類別執行個體的擷取、儲存和更新。 &l0; 衍生自由 Entity Framework 所提供的 &l1; 基礎類別。

您需要在檔案的頂端新增下列 using 陳述式,以便能夠參照 DbContextDbSet

using System.Data.Entity;

您可以手動新增 using 語句來執行此動作,或者將滑鼠懸停在紅色波浪線上,點擊 Show potential fixes 然後點擊 using System.Data.Entity;

Screenshot that shows the Show potential fixes menu. Using System Data Entity is selected and a cannot be found warning is shown.螢幕擷取畫面所示為 [顯示潛在修正] 選單,其中已選取 [使用系統資料實體],並顯示「找不到」警告。

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

螢幕擷取畫面顯示 [顯示可能的修正] 功能表,已選中 [移除多餘的 Using]。

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

前一個 下一個