/// <summary> /// 更新一个对象数据到数据库中 /// </summary> /// <typeparam name="T">类型</typeparam> /// <param name="sql">语句</param> /// <param name="bolIsProcedure">是否是存储过程</param> /// <param name="obj">数据对象</param> /// <returns>更新数量</returns> public int SqlExcuteUpdateOrInsertOrDeleteObject <T>(string sql, bool bolIsProcedure, T obj) { lock (_lockThis) { var objType = obj.GetType(); var propertyArray = TypeOfCacheManager.GetInstance().GetTypeProperty(objType).Values; Command.CommandText = sql; Command.Parameters.Clear(); Command.CommandType = bolIsProcedure ? CommandType.StoredProcedure : CommandType.Text; foreach (var props in propertyArray) { var values = props.GetValue(obj, null); if (values != null) { Command.Parameters.AddWithValue("@" + props.Name, values); } } return(Command.ExecuteNonQuery()); } }
public static TypeOfCacheManager GetInstance() { lock (Lockthis) { if (_my == null) { _my = new TypeOfCacheManager(); } } return(_my); }