共用方式為


新增模型 (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 所提供的基類。

若要能夠參考 DbContextDbSet ,您必須在檔案頂端新增下列 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檔案。

顯示方案總管視窗的螢幕擷取畫面。Web 點組態會以紅色圓圈。

將下列連接字串新增至 <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 類別,讓您可用來顯示電影資料,並允許使用者建立新的電影清單。