private void SetDbType()

in MySQL.Data/src/MySqlParameter.cs [540:628]


    private void SetDbType(DbType dbType)
    {
      _dbType = dbType;
      switch (_dbType)
      {
        case DbType.Guid:
          _mySqlDbType = MySqlDbType.Guid;
          break;

        case DbType.AnsiString:
        case DbType.String:
          _mySqlDbType = MySqlDbType.VarChar;
          break;

        case DbType.AnsiStringFixedLength:
        case DbType.StringFixedLength:
          _mySqlDbType = MySqlDbType.String;
          break;

        case DbType.Boolean:
        case DbType.Byte:
          _mySqlDbType = MySqlDbType.UByte;
          break;

        case DbType.SByte:
          _mySqlDbType = MySqlDbType.Byte;
          break;

        case DbType.Date:
          _mySqlDbType = MySqlDbType.Date;
          break;
        case DbType.DateTime:
        case DbType.DateTimeOffset:
          _mySqlDbType = MySqlDbType.DateTime;
          break;

        case DbType.Time:
          _mySqlDbType = MySqlDbType.Time;
          break;
        case DbType.Single:
          _mySqlDbType = MySqlDbType.Float;
          break;
        case DbType.Double:
          _mySqlDbType = MySqlDbType.Double;
          break;

        case DbType.Int16:
          _mySqlDbType = MySqlDbType.Int16;
          break;
        case DbType.UInt16:
          _mySqlDbType = MySqlDbType.UInt16;
          break;

        case DbType.Int32:
          _mySqlDbType = MySqlDbType.Int32;
          break;
        case DbType.UInt32:
          _mySqlDbType = MySqlDbType.UInt32;
          break;

        case DbType.Int64:
          _mySqlDbType = MySqlDbType.Int64;
          break;
        case DbType.UInt64:
          _mySqlDbType = MySqlDbType.UInt64;
          break;

        case DbType.Decimal:
        case DbType.Currency:
          _mySqlDbType = MySqlDbType.Decimal;
          break;

        case DbType.Object:
        case DbType.VarNumeric:
        case DbType.Binary:
        default:
          _mySqlDbType = MySqlDbType.Blob;
          break;
      }

      if (_dbType == DbType.Object)
      {
        var value = this._paramValue as byte[];
        if (value != null && value.Length == GEOMETRY_LENGTH)
          _mySqlDbType = MySqlDbType.Geometry;
      }

      ValueObject = MySqlField.GetIMySqlValue(_mySqlDbType);
    }