Ejemplo n.º 1
0
        /// <summary>
        /// 根据实体内的主键删除一个实体
        /// </summary>
        /// <typeparam name="T">实体泛型</typeparam>
        /// <param name="idb">数据库连接上下文</param>
        /// <param name="entity">待删除的实体,注意:实体的主键必须赋值</param>
        /// <returns>返回影响的记录条数,如果该数据不存在返回0</returns>
        public static int Delete <T>(this IDbHelper idb, T entity) where T : class, new()
        {
            string sql;
            IList <IDataParameter> paras = null;

            // 获取待删除的参数列表
            paras = DALUtil.GetModelDeleteParas <T>(entity, out sql, idb);
            if (paras.Count == 0)
            {
                throw new EntityErrorException("没有主键参数的数据不能删除", entity);
            }
            return(idb.ExecuteNonQuery(CommandType.Text, sql, paras.ToArray()));
        }