共用方式為


新增模型 (VB)

Rick Anderson

本教學課程將說明基本概念,簡介如何使用 Microsoft Visual Web Developer 2010 Express Service Pack 1 (Visual Studio Microsoft 的免費版本) 建置 ASP.NET MVC Web 應用程式。 開始之前,請確定您已安裝下列必要項目。 您可按以下連結安裝所有專案:Web Platform Installer。 或者可使用下列連結個別安裝必要條件:

如果您使用 Visual Studio 2010 而非 Visual Web Developer 2010,請按以下連結安裝必要條件:Visual Studio 2010 必要條件

本主題隨附內含 VB.NET 原始程式碼的 Visual Web Developer 專案。 下載 VB.NET 版本。 如果您偏好使用 C#,請改參閱本教學課程的 C# 版。

新增模型

在本節中,您將新增類別來管理資料庫中的電影。 這些類別是 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 Property ID() As Integer 
        Public Property Title() As String 
        Public Property ReleaseDate() As Date 
        Public Property Genre() As String 
        Public Property Price() As Decimal 
End Class

我們會使用 Movie 類別來代表資料庫中的電影。 Movie 物件的每個執行個體都會對應至資料庫表格中的列,而 Movie 類別的每個屬性都會對應至表格中的行。

在相同的檔案中,新增下列 MovieDBContext 類別:

Public Class MovieDBContext
    Inherits DbContext
    Public Property Movies() As DbSet(Of Movie)
End Class

MovieDBContext 類別代表 Entity Framework 電影資料庫內容,此內容會在資料庫中處理 Movie 類別執行個體的擷取、儲存和更新。 MovieDBContext 衍生自 DbContext Entity Framework 提供的基礎類別。 如需有關 DbContextDbSet 的詳細資訊,請參閱「Entity Framework 生產力改善

若要參照 DbContextDbSet,您必須在檔案頂端新增下列 imports 陳述式:

Imports System.Data.Entity

完整的 Movie.vb 檔案如下所示。

Imports System.Data.Entity

Public Class Movie
        Public Property ID() As Integer
        Public Property Title() As String
        Public Property ReleaseDate() As Date
        Public Property Genre() As String
        Public Property Price() As Decimal
End Class

Public Class MovieDBContext
    Inherits DbContext
    Public Property Movies() As DbSet(Of Movie)
End Class

建立連接字串並使用 SQL Server Compact

您建立的 MovieDBContext 類別負責連線到資料庫,以及將 Movie 物件對應到資料庫記錄。 不過您可能會遇到一個問題,就是如何指定要連接的資料庫。 在應用程式的 Web.config 檔案中新增聯接資訊,即可執行此動作。

開啟應用程式的根 Web.config 檔案。 (不是 Views 資料夾中的 Web.config 檔案)。下圖顯示兩個 Web.config 檔案;開啟紅色圈起的 Web.config 檔案。

[方案總管] 視窗的螢幕擷取畫面,其中 Web dot 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 類別來顯示電影資料,並允許使用者建立新的電影清單。