文件首頁
MySQL Connector/NET 開發人員指南
相關文件 下載本手冊
PDF (美式信紙) - 1.3Mb
PDF (A4) - 1.3Mb


MySQL Connector/NET 開發人員指南  /  Connector/NET 教學課程  /  教學課程:將 Entity Framework 實體用作 Windows Forms 資料來源

6.3 教學課程:將 Entity Framework 實體用作 Windows Forms 資料來源

本教學課程說明如何使用 Microsoft Visual Studio 從實體資料模型中的實體建立 Windows Forms 資料來源。步驟如下

若要執行本教學課程中的步驟,請先安裝 world 資料庫範例,您可以從MySQL 文件頁面下載。您也可以在同一頁面上找到有關如何安裝資料庫的詳細資訊。

建立新的 Windows Forms 應用程式

第一個步驟是建立新的 Windows Forms 應用程式。

  1. 在 Visual Studio 中,從主選單選取檔案新增,然後選取專案

  2. 選擇已安裝的 Windows Forms 應用程式範本。按一下確定。系統會建立方案。

若要取得最新的 MySQL Entity Framework 組件,請下載 NuGet 套件。

新增實體資料模型

若要將實體資料模型新增至您的方案,請執行下列操作

  1. 在方案總管中,以滑鼠右鍵按一下您的應用程式,然後選取新增,然後選取新增項目。從Visual Studio 已安裝的範本中,選取 ADO.NET 實體資料模型(請參閱後續圖例)。按一下 新增

    圖 6.11 新增實體資料模型

    Content is described in the surrounding text.

  2. 您現在會看到「實體資料模型精靈」。您將使用精靈從 world 資料庫範例產生實體資料模型。選取圖示從資料庫的 EF 設計工具(或舊版 Visual Studio 中的 從資料庫產生)。按一下下一步

  3. 您現在可以選取您先前建立的 localhost(world) 連線到資料庫。選取下列項目

    • 是,在連線字串中包含機密資料。

    • 將實體連線設定儲存在 App.config 中,名稱為

      worldEntities

    如果尚未執行此操作,您可以在此時按一下新增連線來建立新的連線(請參閱後續圖例)。

    圖 6.12 實體資料模型精靈 - 連線

    Content is described in the surrounding text.

    請記下要在 App.Config 中使用的實體連線設定,因為稍後會使用這些設定來撰寫必要的控制程式碼。按一下下一步

  4. 「實體資料模型精靈」會連線到資料庫。

    如下圖所示,接著會顯示資料庫的樹狀結構。您可以在此選取要包含在模型中的物件。如果您也建立了檢視和預存常式,這些項目將會與任何表格一起顯示。在本範例中,您只需要選取表格。按一下 完成以建立模型並結束精靈。

    圖 6.13 實體資料模型精靈 - 物件和設定

    Content is described in the surrounding text.

    Visual Studio 會產生具有三個表格(城市、國家/地區和國家/地區語言)的模型,然後顯示它,如下圖所示。

    圖 6.14 實體資料模型圖表

    Content is described in the surrounding text.

  5. 從 Visual Studio 主選單中,選取 建置,然後選取 建置方案,以確保目前為止所有項目都正確編譯。

新增資料來源

您現在將新增新的資料來源至您的專案,並查看如何使用它來讀取和寫入資料庫。

  1. 從 Visual Studio 主選單中選取資料,然後選取新增資料來源。您會看到「資料來源組態精靈」。

  2. 選取物件圖示。按一下下一步

  3. 選取要繫結的物件。如下圖所示展開樹狀結構。

    在本教學課程中,您將選取城市表格。選取城市表格後,按一下下一步

    圖 6.15 資料來源組態精靈

    Content is described in the surrounding text.

  4. 精靈將確認要新增城市物件。按一下完成

  5. 城市物件現在會出現在「資料來源」面板中。如果未顯示「資料來源」面板,請從 Visual Studio 主選單中選取資料,然後選取顯示資料來源。接著將會顯示已停駐的面板。

在 Windows Form 中使用資料來源

此步驟說明如何在 Windows Form 中使用資料來源。

  1. 在「資料來源」面板中,選取您剛建立的資料來源,然後將它拖放到「表單設計工具」上。根據預設,資料來源物件將以資料格檢視控制項的形式新增,如下圖所示。

    注意

    資料格檢視控制項會繫結至 cityBindingSource,而導覽器控制項會繫結至 cityBindingNavigator

    圖 6.16 資料表單設計工具

    Content is described in the surrounding text.

  2. 儲存並重建方案,然後再繼續。

新增程式碼以填入資料格檢視

您現在可以新增程式碼,以確保資料格檢視控制項將會填入城市資料庫表格中的資料。

  1. 按兩下表單以存取其程式碼。

  2. 新增下列程式碼以具現化實體資料模型 EntityContainer 物件,並從資料庫擷取資料以填入控制項。

    using System.Windows.Forms;
    
    namespace WindowsFormsApplication4
    {
       public partial class Form1 : Form
       {
          worldEntities we;
    
          public Form1()
          {
              InitializeComponent();
          }
     
          private void Form1_Load(object sender, EventArgs e)
          {
              we = new worldEntities();
              cityBindingSource.DataSource = we.city.ToList();
          }
       }
    }
  3. 儲存並重建方案。

  4. 執行方案。確認格線已填入(範例請參閱下圖),而且您可以導覽資料庫。

    圖 6.17 已填入的格線控制項

    Content is described in the surrounding text.

新增程式碼以將變更儲存到資料庫

此步驟說明如何新增程式碼,讓您可以將變更儲存到資料庫。

繫結來源元件可確保在資料格檢視控制項中所做的變更也會套用至繫結至它的實體類別。不過,需要將該資料從實體儲存回資料庫本身。這可以透過啟用導覽器控制項中的 [儲存] 按鈕,以及新增一些程式碼來達成。

  1. 在「表單設計工具」中,按一下表單工具列中的 [儲存] 圖示,並確認其 已啟用 屬性設定為 True

  2. 按兩下表單工具列中的 [儲存] 圖示以顯示其程式碼。

  3. 新增下列(或類似)程式碼,以確保當使用者在應用程式中按一下 [儲存] 按鈕時,會將資料儲存到資料庫。

          public Form1()
          {
              InitializeComponent();
          }
     
          private void Form1_Load(object sender, EventArgs e)
          {
              we = new worldEntities();
              cityBindingSource.DataSource = we.city.ToList();
          }
          private void cityBindingNavigatorSaveItem_Click(object sender, EventArgs e)
          {
              we.SaveChanges();
          }
       }
    }
  4. 當程式碼新增完成後,儲存解決方案並重新建置。執行應用程式並驗證在網格中所做的變更是否已儲存。