///// <summary> ///// 根据某个实体属性删除数据 ///// 该实体必须包含指定的属性名称 ///// 而且实体属性值不能为空 ///// </summary> ///// <param name="entity">实体属性公共接口</param> ///// <param name="propertyName">实体属性名称</param> ///// <returns></returns> //public int Delete(IEntity entity, string propertyName) //{ // IDataParameter[] param = null; // string sql = Factory.CreateDeleteSql(entity,out param,propertyName); // using (IDbProvider provider = new SqlProvider()) // { // return BaseHelper.ExecuteNonQuery( sql, param); // } //} ///// <summary> ///// 根据实体多个属性删除数据 ///// 实体中必须包含该属性 ///// 传递参数数组不能为空 ///// </summary> ///// <param name="entity">实体属性公共接口</param> ///// <param name="propertyNames">实体属性名称数组</param> ///// <returns></returns> //public int Delete(IEntity entity, string[] propertyNames) //{ // IDataParameter[] param = null; // string sql = Factory.CreateDeleteSql(entity, out param, propertyNames); // using (IDbProvider provider = new SqlProvider()) // { // return BaseHelper.ExecuteNonQuery( sql, param); // } //} ///// <summary> ///// 根据泛型类删除数据 ///// 该方法是根据实体的主键删除的 ///// </summary> ///// <typeparam name="T">泛型类</typeparam> ///// <param name="t">泛型实例</param> ///// <returns></returns> //public int Delete<T>(T t) where T : class //{ // IDataParameter[] param = null; // string sql = Factory.CreateDeleteSql(typeof(T), t, out param); // using (IDbProvider provider = new SqlProvider()) // { // return BaseHelper.ExecuteNonQuery( sql, param); // } //} ///// <summary> ///// 根据泛型类的某个属性删除数据 ///// 泛型类中必须存在该属性,而且 ///// 属性值不能为空 ///// </summary> ///// <typeparam name="T">泛型类型</typeparam> ///// <param name="t">泛型类实例</param> ///// <param name="propertyName">属性名称</param> ///// <returns></returns> //public int Delete<T>(T t, string propertyName) where T : class //{ // IDataParameter[] param = null; // string sql = Factory.CreateDeleteSql(typeof(T), t, out param,propertyName); // using (IDbProvider provider = new SqlProvider()) // { // return BaseHelper.ExecuteNonQuery( sql, param); // } //} ///// <summary> ///// 根据泛型类型的多个属性删除数据 ///// 泛型类型中必须存在这些属性,传 ///// 递参数的时候不能为null ///// </summary> ///// <typeparam name="T">泛型类</typeparam> ///// <param name="t">泛型实例</param> ///// <param name="propertyNames">属性名称数组</param> ///// <returns></returns> //public int Delete<T>(T t, string[] propertyNames) where T : class //{ // IDataParameter[] param = null; // string sql = Factory.CreateDeleteSql(typeof(T), t, out param, propertyNames); // using (IDbProvider provider = new SqlProvider()) // { // return BaseHelper.ExecuteNonQuery( sql, param); // } //} ///// <summary> ///// 根据实体的类型删除数据。 ///// value 中的类型由type确定 ///// </summary> ///// <param name="type">实体类型</param> ///// <param name="value">实体对象实例</param> ///// <returns></returns> //public int Delete(Type type, object value) //{ // IDataParameter[] param = null; // string sql = Factory.CreateDeleteSql(type,value,out param); // using (IDbProvider provider = new SqlProvider()) // { // return BaseHelper.ExecuteNonQuery( sql, param); // } //} ///// <summary> ///// 根据实体的类型的某个属性删除数据。 ///// value 中的类型由type确定 ///// propertyName 属性名称必须在value ///// 对象中存在 ///// </summary> ///// <param name="type">实体类型</param> ///// <param name="value">实体对象实例</param> ///// <param name="propertyName">属性名称</param> ///// <returns></returns> //public int Delete(Type type, object value, string propertyName) //{ // IDataParameter[] param = null; // string sql = Factory.CreateDeleteSql(type, value, out param,propertyName); // using (IDbProvider provider = new SqlProvider()) // { // return BaseHelper.ExecuteNonQuery( sql, param); // } //} ///// <summary> ///// 根据实体的类型的某个属性删除数据。 ///// value 中的类型由type确定 ///// propertyName 属性名称必须在value ///// 对象中存在 ///// </summary> ///// <param name="type">实体类型</param> ///// <param name="value">实体对象实例</param> ///// <param name="propertyNames">属性名称数组</param> ///// <returns></returns> //public int Delete(Type type, object value, string[] propertyNames) //{ // IDataParameter[] param = null; // string sql = Factory.CreateDeleteSql(type, value, out param, propertyNames); // using (IDbProvider provider = new SqlProvider()) // { // return BaseHelper.ExecuteNonQuery( sql, param); // } //} /// <summary> /// 根据主键查询实体对象 /// </summary> /// <typeparam name="T">泛型类型</typeparam> /// <param name="pkPropertyValue">主键值</param> /// <returns></returns> public T GetEntity <T>(object pkPropertyValue) where T : class, new() { IDataParameter[] param = null; string sql = Factory.CreateSingleSql(typeof(T), pkPropertyValue, out param); return(BaseHelper.ConvertToEntity <T>(BaseHelper.ExecuteDataReader(sql, param))); }
///// <summary> ///// 根据实体类的类型和主键值查询实体对象 ///// 使用 type 确定实体,主键确定数据的唯 ///// 一性 ///// </summary> ///// <param name="type">实体类型</param> ///// <param name="pkPropertyValue">主键值</param> ///// <returns></returns> //public object GetEntity(Type type, object pkPropertyValue) //{ // IDataParameter[] param = null; // string sql = Factory.CreateSingleSql(type,pkPropertyValue,out param); // return SqlHelperComm.ConvertToEntity(type, BaseHelper.ExecuteDataReader(sql, param as OracleParameter[])); //} /// <summary> /// 根据表名和条件获取实体对象 /// </summary> /// <typeparam name="T">泛型类型</typeparam> /// <param name="strTableName">表名</param> /// <param name="component">条件</param> /// <returns>实体</returns> public T GetEntity <T>(string strTableName, ConditionComponent component) where T : class, new() { IDataParameter[] param = null; string sql = string.Format("select * from {0} where rownum<2", strTableName); if (component != null && component.sbComponent.Length > 0) { sql += " and " + component.sbComponent.ToString(); } return(BaseHelper.ConvertToEntity <T>(BaseHelper.ExecuteDataReader(sql, param as OracleParameter[]))); }
/// <summary> /// 根据表名和条件获取实体对象 /// </summary> /// <typeparam name="T">泛型类型</typeparam> /// <param name="strTableName">表名</param> /// <param name="component">条件</param> /// <returns>实体</returns> public T GetEntity <T>(string pkPropertyValue, ConditionComponent component) where T : class, new() { IDataParameter[] param = null; //string sql = string.Format("select top 1 * from {0} ", strTableName); string strWhere = Factory.CreateSingleSql(typeof(T), pkPropertyValue, out param); if (component != null && component.sbComponent.Length > 0) { strWhere += (pkPropertyValue == null && strWhere.IndexOf(" where ") < 0 ? " where " : " and ") + component.sbComponent.ToString(); } if (strOrderString != null && strOrderString.Trim() != "") { strWhere = strWhere + " order by " + strOrderString; strOrderString = ""; } return(BaseHelper.ConvertToEntity <T>(BaseHelper.ExecuteDataReader(strWhere, param))); }