共用方式為


新增模型 (C#)

作者: Rick Anderson

本教學課程將教導您使用 Microsoft Visual Web Developer 2010 Express Service Pack 1 建置 ASP.NET MVC Web 應用程式的基本概念,這是 Microsoft Visual Studio 的免費版本。 開始之前,請確定您已安裝下列必要條件。 您可以按一下下列連結來安裝所有元件: Web Platform Installer。 或者,您可以使用下列連結個別安裝必要條件:

如果您使用 Visual Studio 2010 而不是 Visual Web Developer 2010,請按一下下列連結來安裝必要條件: Visual Studio 2010 必要條件

具有 C# 原始程式碼的 Visual Web Developer 專案隨附于本主題中。 下載 C# 版本。 如果您偏好使用 Visual Basic,請切換至本教學 課程的 Visual Basic 版本

新增模型

在本節中,您將新增一些類別來管理資料庫中的電影。 這些類別會是 ASP.NET MVC 應用程式的「模型」部分。

您將使用稱為 Entity Framework 的.NET Framework資料存取技術來定義及使用這些模型類別。 Entity Framework (通常稱為 EF) 支援稱為 Code First的開發範例。 Code First 可讓您撰寫簡單的類別來建立模型物件。 (這些也稱為 POCO 類別,來自「純舊 CLR 物件」。) 您可以接著從類別即時建立資料庫,以啟用非常簡潔且快速的開發工作流程。

新增模型類別

方案總管中,以滑鼠右鍵按一下Models資料夾,選取 [新增],然後選取 [類別]。

顯示方案總管視窗的螢幕擷取畫面。在 [模型] 右鍵功能表中選取 [新增]。類別是在子功能表中選取。

類別 命名為 「Movie」。

CreateMovieClass

將下列五個屬性新增至 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 所提供的基類。 如需 和 DbSet 的詳細資訊 DbContext ,請參閱Entity Framework 的生產力改善

若要能夠參考 DbContextDbSet ,您必須在檔案頂端新增下列 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 點組態會以紅色圓圈。

將下列連接字串新增至 <connectionStrings>Web.config 檔案中的 專案。

<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 類別,讓您可用來顯示電影資料,並允許使用者建立新的電影清單。