public override void SetParameterValue(IDbDataParameter parameter, object value) { if (value is System.Xml.XmlDocument) { parameter.Value = ((System.Xml.XmlDocument)value).OuterXml; parameter.DbType = DbType.String; parameter.Size = parameter.Value.ToString().Length; } else if (value is Stream) { var arr = MappingSchema.ConvertToByteArray(value); parameter.Value = arr; parameter.DbType = DbType.Binary; parameter.Size = arr.Length; } else if (value is ushort) { parameter.Value = (int)(ushort)value; } else if (value is uint) { parameter.Value = (long)(uint)value; } else if (value is ulong) { parameter.Value = value.ToString(); } else { base.SetParameterValue(parameter, value); } }