生成刪除數據的代碼
基礎類型RecordORMHelper預留了FillDeleteCommand函數,代碼生成器自動生成代碼 來實現FillDeleteCommand函數,而ORM框架就會創建一個數據庫命令對象,然後調用 FillDeleteCommand函數來為刪除數據而初始化數據庫命令對象,然後執行SQL命令刪除數據 。
在DB_Employees中使用一下代碼來定義EmployeeID屬性的。
///<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;
}
}
附加的BindFIEld特性中使用了“Key=true”指明了EmployeeID字段是關鍵字段。 於是我們很容易就想到使用SQL語句“Delete From Employees Where EmployeeID=指定 的員工編號”來刪除數據。於是針對DB_Employees代碼生成器生成的代碼如下
public override int FillDeleteCommand( System.Data.IDbCommand cmd , object objRecord )
{
if( cmd == null ) throw new ArgumentNullException("cmd");
if( objRecord == null ) throw new ArgumentNullException("objRecord");
MyORM.DB_Employees myRecord = objRecord as MyORM.DB_Employees ;
if( myRecord == null ) throw new ArgumentException("must type 'MyORM.DB_Employees' ");
cmd.Parameters.Clear();
cmd.CommandText = @"Delete From Employees Where EmployeeID = ? " ;
System.Data.IDbDataParameter parameter = null ;
parameter = cmd.CreateParameter();
parameter.Value = myRecord.EmployeeID ;
cmd.Parameters.Add( parameter );
return 1 ;
}