MySQL Connector acrescentando o enum com o valor um menor que o real

Estou usando oMySQL Connector para .NET para gerenciar um banco de dados MySQL de C #.

Quando tento inserir um enum no banco de dados, ele anexa o enum com o valorum a menos que o real 1.

public enum MyEnum {
    FirstValue, SecondValue, ThirdValue;
}

public void InsertEnum() {
    MySqlConnection con = new MySqlConnection(connStr);
    string sql = "INSERT INTO table (Col1) VALUES (@enumVal);";
    MySqlCommand cmd = new MySqlCommand(sql, con);
    cmd.Parameters.AddWithValue("@enumVal", MyEnum.SecondValue);
        //Note I'm trying to insert 'SecondValue' --^

    con.Open();
    cmd.ExecuteNonQuery();
    con.Close();
}

Isto insereFirstValue no banco de dados.

oCol1 column, no banco de dados, é do tipo de dados ENUM:

ENUM('FirstValue','SecondValue','ThirdValue')

Se eu tentar acrescentarMyEnum.FirstValue Eu recebo um erro de truncamento de dados (data truncated for column COLUMN_NAME) uma vez que tenta usar o mesmo índice que o .NET (0 no caso deMyEnum.FirstValue), que é um valor reservado emMySQL Enums (desde que eles começam em1 por padrão).

Uma solução é anexar+1 para todos os valores enum ou possivelmente fazer uma extensão:

cmd.Parameters.AddWithValue("@enumVal", MyEnum.SecondValue + 1);

Ainda me parece errado que eu tenha que modificar o valor manualmente, para uma biblioteca que deve convertê-lo automaticamente.

Estou fazendo algo errado ou não há uma maneira padrão de lidar com isso?

questionAnswers(2)

yourAnswerToTheQuestion