本教學課程說明如何使用 Microsoft Visual Studio 從實體資料模型中的實體建立 Windows Forms 資料來源。步驟如下
若要執行本教學課程中的步驟,請先安裝 world
資料庫範例,您可以從MySQL 文件頁面下載。您也可以在同一頁面上找到有關如何安裝資料庫的詳細資訊。
第一個步驟是建立新的 Windows Forms 應用程式。
在 Visual Studio 中,從主選單選取
、 ,然後選取 。選擇已安裝的 Windows Forms 應用程式範本。按一下 。系統會建立方案。
若要取得最新的 MySQL Entity Framework 組件,請下載 NuGet 套件。
若要將實體資料模型新增至您的方案,請執行下列操作
在方案總管中,以滑鼠右鍵按一下您的應用程式,然後選取Visual Studio 已安裝的範本中,選取 ADO.NET 實體資料模型(請參閱後續圖例)。按一下 。
,然後選取 。從您現在會看到「實體資料模型精靈」。您將使用精靈從
world
資料庫範例產生實體資料模型。選取圖示從資料庫的 EF 設計工具(或舊版 Visual Studio 中的 從資料庫產生)。按一下 。您現在可以選取您先前建立的
localhost(world)
連線到資料庫。選取下列項目是,在連線字串中包含機密資料。
將實體連線設定儲存在
App.config
中,名稱為worldEntities
如果尚未執行此操作,您可以在此時按一下
來建立新的連線(請參閱後續圖例)。請記下要在
App.Config
中使用的實體連線設定,因為稍後會使用這些設定來撰寫必要的控制程式碼。按一下 。「實體資料模型精靈」會連線到資料庫。
如下圖所示,接著會顯示資料庫的樹狀結構。您可以在此選取要包含在模型中的物件。如果您也建立了檢視和預存常式,這些項目將會與任何表格一起顯示。在本範例中,您只需要選取表格。按一下
以建立模型並結束精靈。Visual Studio 會產生具有三個表格(城市、國家/地區和國家/地區語言)的模型,然後顯示它,如下圖所示。
從 Visual Studio 主選單中,選取
,然後選取 ,以確保目前為止所有項目都正確編譯。
您現在將新增新的資料來源至您的專案,並查看如何使用它來讀取和寫入資料庫。
此步驟說明如何在 Windows Form 中使用資料來源。
您現在可以新增程式碼,以確保資料格檢視控制項將會填入城市資料庫表格中的資料。
按兩下表單以存取其程式碼。
新增下列程式碼以具現化實體資料模型
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(); } } }
儲存並重建方案。
執行方案。確認格線已填入(範例請參閱下圖),而且您可以導覽資料庫。
此步驟說明如何新增程式碼,讓您可以將變更儲存到資料庫。
繫結來源元件可確保在資料格檢視控制項中所做的變更也會套用至繫結至它的實體類別。不過,需要將該資料從實體儲存回資料庫本身。這可以透過啟用導覽器控制項中的 [儲存] 按鈕,以及新增一些程式碼來達成。
在「表單設計工具」中,按一下表單工具列中的 [儲存] 圖示,並確認其 已啟用 屬性設定為
True
。按兩下表單工具列中的 [儲存] 圖示以顯示其程式碼。
新增下列(或類似)程式碼,以確保當使用者在應用程式中按一下 [儲存] 按鈕時,會將資料儲存到資料庫。
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(); } } }
當程式碼新增完成後,儲存解決方案並重新建置。執行應用程式並驗證在網格中所做的變更是否已儲存。