程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#發現之旅第十一講 使用反射和特性構造自己的ORM框架(下)(4)

C#發現之旅第十一講 使用反射和特性構造自己的ORM框架(下)(4)

編輯:關於C語言

該函數的參數是應用系統對象實例的列表。在這個函數中遍歷所有的對象實例,調用GetBindInfo函數獲得映射信息,然後拼湊出一個”Delete From 映射的數據表名 Where 查詢條件”的SQL語句,這裡使用BindCondition函數來創建Where子語句,然後使用拼湊的SQL語句設置SQL命令對象並執行,這樣就從數據庫中刪除了應用程序對象對應的數據庫記錄了。

我們在DeleteObjects的基礎上派生了一些函數用於豐富框架的編程接口。

使用ORM框架

ORM框架開發完畢後,我們就來簡單的測試這個框架,首先我們在一個Access2000的數據庫中建立一個名為Employees的數據表,該數據表存放的是公司員工的信息,其字段有

對於這張表我們編寫了對應的應用程序對象類型,其主要代碼為

[System.Serializable()]
[BindTable("Employees")]
public class DB_Employees
{
/// <summary>
/// 人員全名
/// </summary>
public string FullName
{
get
{
return this.LastName + this.FirstName ;
}
}
#region 定義數據庫字段變量及屬性 //////////////////////////////////////////
///<summary>
/// 字段值 EmployeeID
///</summary>
private System.Int32 m_EmployeeID = 0 ;
///<summary>
/// 字段值 EmployeeID
///</summary>
[BindFIEld("EmployeeID" , Key = true )]
public System.Int32 EmployeeID
{
get
{
return m_EmployeeID ;
}
set
{
m_EmployeeID = value;
}
}
///<summary>
/// 字段值 LastName
///</summary>
private System.String m_LastName = null ;
///<summary>
/// 字段值 LastName
///</summary>
[BindFIEld("LastName")]
public System.String LastName
{
get
{
return m_LastName ;
}
set
{
m_LastName = value;
}
}
///<summary>
/// 字段值 FirstName
///</summary>
private System.String m_FirstName = null ;
///<summary>
/// 字段值 FirstName
///</summary>
[BindFIEld("FirstName")]
public System.String FirstName
{
get
{
return m_FirstName ;
}
set
{
m_FirstName = value;
}
}
其他字段……………..
#endregion
}// 數據庫操作類 DB_Employees 定義結束
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved