這個類型的代碼很簡單,就是定義一個個和數據庫字段對應的公開屬性而已,因此很容易使用各種代碼生成器來生成這樣的代碼。這個DB_Employees類型中使用了BindTable和BindFIEld特性來標記對象及其屬性綁定了數據庫表和字段上,這裡的EmployeeID屬性標記為關鍵字段,因此框架程序修改和刪除數據庫記錄是會依據EmployeeID來生成查詢條件。
我們開發了一個簡單的WinForm程序來測試我們建立的ORM框架。其用戶界面為
查詢數據
用戶界面上的“刷新”按鈕就是讀取數據庫,然後刷新員工名稱列表,其主要代碼為
private void cmdRefresh_Click(object sender, System.EventArgs e)
{
using( MyORMFramework myWork = this.CreateFramework())
{
RefreshList( myWork );
}
}
private void RefreshList( MyORMFramework myWork )
{
object[] obJS = myWork.ReadAllObjects(typeof( DB_Employees ));
System.Collections.ArrayList list = new ArrayList();
list.AddRange( obJS );
this.lstName.DataSource = list ;
this.lstName.DisplayMember = "FullName";
}
/// <summary>
/// 連接數據庫,創建ORM框架對象
/// </summary>
/// <returns>ORM框架對象</returns>
private MyORMFramework CreateFramework()
{
System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection();
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.IO.Path.Combine( System.Windows.Forms.Application.StartupPath , "demomdb.mdb" );
conn.Open();
return new MyORMFramework( conn );
}