新增模型
注意
本教學課程的更新版本可在此取得,它使用最新版的 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 所提供的基礎類別。
為了能參照 DbContext
和 DbSet
,您必須在檔案頂端新增下列 using
陳述式:
using System.Data.Entity;
您可以手動新增 using 語句來執行此動作,也可以將滑鼠停留在紅色曲線上,按一下 Show potential fixes
再按一下 using System.Data.Entity;
注意:數個未使用的 using
陳述式已移除。 Visual Studio 會將未使用的相依性顯示為灰色。 您可以將滑鼠停留在灰色相依性上,然後按一下 Show potential fixes
再按一下 [移除未使用的 Using] 來移除未使用的相依性。
我們終於新增模型了 (MVC 中的 M)。 在下一節中,您將會使用資料庫連結字串。