public override object GetParameterValue(DbCommand command, string parameterName) { object convertedValue = base.GetParameterValue(command, parameterName); ParameterTypeRegistry registry = GetParameterTypeRegistry(command.CommandText); if (registry != null) { if (registry.HasRegisteredParameterType(parameterName)) { DbType dbType = registry.GetRegisteredParameterType(parameterName); if (DbType.Guid == dbType) { convertedValue = ConvertByteArrayToGuid(convertedValue); } else if (DbType.Boolean == dbType) { convertedValue = Convert.ToBoolean(convertedValue, CultureInfo.InvariantCulture); } } } return(convertedValue); }
/// <summary> /// 设置参数值 /// </summary> /// <param name="command"></param> /// <param name="parameterName">参数名称</param> /// <param name="value">参数值</param> public override void SetParameterValue(DbCommand command, string parameterName, object value) { object convertedValue = value; ParameterTypeRegistry registry = GetParameterTypeRegistry(command.CommandText); if (registry != null) { if (registry.HasRegisteredParameterType(parameterName)) { DbType dbType = registry.GetRegisteredParameterType(parameterName); if (DbType.Guid == dbType) { convertedValue = ConvertGuidToByteArray(value); } } } base.SetParameterValue(command, parameterName, convertedValue); }