注意
本教學課程的更新版本可在此取得,它使用最新版的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 陳述式,以便能夠參照 DbContext 和 DbSet。
using System.Data.Entity;
您可以手動新增 using 語句來執行此動作,或者將滑鼠懸停在紅色波浪線上,點擊 Show potential fixes 然後點擊 using System.Data.Entity;。
螢幕擷取畫面所示為 [顯示潛在修正] 選單,其中已選取 [使用系統資料實體],並顯示「找不到」警告。
注意:數個未使用的 using 陳述式已移除。 Visual Studio 會將未使用的相依性顯示為灰色。 您可以將滑鼠停留在灰色相依性上,然後按一下 Show potential fixes,再按一下 Remove Unused Usings 來移除未使用的相依性。
螢幕擷取畫面顯示 [顯示可能的修正] 功能表,已選中 [移除多餘的 Using]。
我們終於新增模型了 (MVC 中的 M)。 在下一節中,您將會使用資料庫連結字串。
前一個 下一個