新增模型 (C#)
本教學課程將說明基本概念,簡介如何使用 Microsoft Visual Web Developer 2010 Express Service Pack 1 (Visual Studio Microsoft 的免費版本) 建置 ASP.NET MVC Web 應用程式。 開始之前,請確定您已安裝下列必要項目。 您可按以下連結安裝所有專案:Web Platform Installer。 或者可使用下列連結個別安裝必要條件:
- Visual Studio Web Developer Express SP1 必要條件
- ASP.NET MVC 3 工具更新
- SQL Server Compact 4.0 (執行階段 + 工作支援)
如果您使用 Visual Studio 2010 而非 Visual Web Developer 2010,請按以下連結安裝必要條件:Visual Studio 2010 必要條件。
本主題隨附內含 C# 原始程式碼的 Visual Web Developer 專案。 下載 C# 版本。 如果您偏好使用 Visual Basic,請切換至本教學課程的 Visual Basic version 版。
新增模型
在本節中,您將新增類別來管理資料庫中的電影。 這些類別是 ASP.NET MVC 應用程式的「模型」部分。
您將使用稱為 Entity Framework 的 .NET Framework 資料存取技術,定義及使用這些模型類別。 Entity Framework (通常稱為 EF) 支援的開發範例稱為 Code First。 Code First 可讓您透過撰寫簡單的類別來建立模型物件。 (又稱 POCO 類別,源自「plain-old CLR objects」)。接著,您便可立即從類別建立資料庫,俐落快速地開始開發工作流程。
新增模型類別
在 [方案總管] 中,以滑鼠右鍵按一下 Models 資料夾,選取 [新增],然後選取 [類別]。
將類別命名為「Movie」(電影)。
將下列五個屬性新增至 Movie
類別:
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
類別的每個屬性都會對應至表格中的行。
在相同的檔案中,新增下列 MovieDBContext
類別:
public class MovieDBContext : DbContext
{
public DbSet<Movie> Movies { get; set; }
}
MovieDBContext
類別代表 Entity Framework 電影資料庫內容,此內容會在資料庫中處理 Movie
類別執行個體的擷取、儲存和更新。 MovieDBContext
衍生自 DbContext
Entity Framework 提供的基礎類別。 如需有關 DbContext
和 DbSet
的詳細資訊,請參閱「Entity Framework 生產力改善」
若要參照 DbContext
和 DbSet
,您必須在檔案頂端新增下列 using
陳述式:
using System.Data.Entity;
完整的 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; }
}
}
建立連接字串並使用 SQL Server Compact
您建立的 MovieDBContext
類別負責連線到資料庫,以及將 Movie
物件對應到資料庫記錄。 不過您可能會遇到一個問題,就是如何指定要連接的資料庫。 在應用程式的 Web.config 檔案中新增聯接資訊,即可執行此動作。
開啟應用程式的根 Web.config 檔案。 (不是 Views 資料夾中的 Web.config 檔案)。下圖顯示兩個 Web.config 檔案;開啟紅色圈起的 Web.config 檔案。
將下列連接字串新增至 Web.config 檔案中的 <connectionStrings>
元素。
<add name="MovieDBContext"
connectionString="Data Source=|DataDirectory|Movies.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
下列範例所示為 Web.config 檔案的一部分,其中已新增連接字串:
<configuration>
<connectionStrings>
<add name="MovieDBContext"
connectionString="Data Source=|DataDirectory|Movies.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
<add name="ApplicationServices"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
</connectionStrings>
您只需要撰寫這一小段的程式碼和 XML,即可在資料庫中表示及儲存電影資料。
接下來,您可建立新的 MoviesController
類別來顯示電影資料,並允許使用者建立新的電影清單。