private void UpdateTranslate(IModel valueObject, List <OracleParameter> parameters) { foreach (PropertyInfo prop in valueObject.GetType().GetProperties()) { if (prop.GetValue(valueObject, null) != null) { if (CheckBrowsable(valueObject, prop.Name)) { //SqlStringBuilder.Append(prop.Name.ToUpper() + " = :" + prop.Name.ToUpper() + ","); SqlString.Append(prop.Name.ToUpper() + " = " + DbSymbolize + prop.Name.ToUpper() + ","); var propertyType = prop.PropertyType; if (prop.PropertyType.IsGenericType && prop.PropertyType.GetGenericTypeDefinition() == typeof(Nullable <>)) { propertyType = prop.PropertyType.GetGenericArguments()[0]; } //如果obj value非null但長度為0, 代表需為NULL, 以DBnull.Value傳值 parameters.Add(new OracleParameter(DbSymbolize + prop.Name.ToUpper(), (OracleDbType)GetDbType(propertyType.Name), prop.GetValue(valueObject, null).ToString().Length > 0 ? prop.GetValue(valueObject, null) : DBNull.Value, ParameterDirection.Input)); } } } SqlString.Remove(SqlString.Length - 1, 1); }