新增模型 (2012)
作者: Rick Anderson
注意
這裡提供本教學課程的更新版本,其使用 ASP.NET MVC 5 和 Visual Studio 2013。 更安全、更容易遵循並示範更多功能。
在本節中,您將新增一些類別來管理資料庫中的電影。 這些類別會是 ASP.NET MVC 應用程式的「模型」部分。
您將使用稱為Entity Framework的.NET Framework資料存取技術來定義和使用這些模型類別。 Entity Framework (通常稱為 EF) 支援稱為 Code First的開發範例。 Code First 可讓您撰寫簡單的類別來建立模型物件。 (這些也稱為 POCO 類別,來自「純舊 CLR 物件」。) 您可以接著從類別即時建立資料庫,以啟用非常簡潔且快速的開發工作流程。
新增模型類別
在方案總管中,以滑鼠右鍵按一下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
,您必須在檔案頂端新增下列 using
語句:
using System.Data.Entity;
完整的 Movie.cs 檔案如下所示。 (已移除數個不需要的 using 語句。)
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 LocalDB
您建立的 MovieDBContext
類別會處理連接到資料庫的工作,並將物件對應 Movie
至資料庫記錄。 不過,您可能會詢問的一個問題是如何指定要連線的資料庫。 您會在應用程式的 Web.config 檔案中新增連線資訊來執行此動作。
開啟應用程式根 Web.config 檔案。 (不是Views資料夾中的Web.config檔案。) 開啟以紅色框起的Web.config檔案。
將下列連接字串新增至 <connectionStrings>
Web.config 檔案中的 專案。
<add name="MovieDBContext"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True"
providerName="System.Data.SqlClient"
/>
下列範例顯示已新增連接字串 Web.config 檔案的一部分:
<connectionStrings>
<add name="DefaultConnection"
connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MvcMovie-2012213181139;Integrated Security=true"
providerName="System.Data.SqlClient"
/>
<add name="MovieDBContext"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True"
providerName="System.Data.SqlClient"
/>
</connectionStrings>
這個少量的程式碼和 XML 是您需要撰寫的一切,才能在資料庫中表示和儲存電影資料。
接下來,您將建置新的 MoviesController
類別,讓您可用來顯示電影資料,並允許使用者建立新的電影清單。