Welcome 微信登录

首页 / 网页编程 / ASP.NET / 自己动手写ASP.NET ORM框架(九):实现删除功能Remove方法

自己动手写ASP.NET ORM框架(九):实现删除功能Remove方法2011-04-24 博客园 奋斗前面简单的修改功能已经实现了,下面是实现删除功能,代码1-1如下:

#region 删除实体对应数据库中的数据
public int Remove<T>(T entity)
{
TableInfo tableInfo = DbEntityUtils.GetTableInfo(entity, DbOperateType.DELETE);
string strSql = DbEntityUtils.GetDeleteByIdSql(tableInfo);
IDbDataParameter[] parms = DbFactory.CreateDbParameters(1);
parms[0].ParameterName = tableInfo.Id.Key;
parms[0].Value = tableInfo.Id.Value;
object val = AdoHelper.ExecuteNonQuery(transaction, CommandType.Text, strSql, parms);
return Convert.ToInt32(val);
}
#endregion


#region 根据主键id删除实体对应数据库中的数据
public int Remove<T>(object id) where T : new()
{
TableInfo tableInfo = DbEntityUtils.GetTableInfo(new T(), DbOperateType.DELETE);
string strSql = DbEntityUtils.GetDeleteByIdSql(tableInfo);
IDbDataParameter[] parms = DbFactory.CreateDbParameters(1);
parms[0].ParameterName = tableInfo.Id.Key;
parms[0].Value = id;
object val = AdoHelper.ExecuteNonQuery(transaction, CommandType.Text, strSql, parms);
return Convert.ToInt32(val);
}
#endregion

DbEntityUtils.GetDeleteByIdSql方法代码如下1-2:

public static string GetDeleteByIdSql(TableInfo tableInfo)
{
string strSql = "delete {0} where {1} =" + AdoHelper.DbParmChar + tableInfo.Id.Key;
strSql = string.Format(strSql, tableInfo.TableName, tableInfo.Id.Key);
return strSql;
}