DAPPER бросает неверное исключение отличия при попытке установить логическое значение, возвращенное из MySQL

У меня есть этот класс

public class User
{
    public int UserId { get; set; }
    public string UserName { get; set; }
    public bool IsValidated { get; set; }
}

, и я заполняю его этим SQL, используя Dapper:

var users = connection.Query("SELECT userId, userName, TRUE `IsValidated` FROM user WHERE [...]").ToList();

, когда я запускаю это, я получаю эту ошибку:

Ошибка разборки столбца 2 (ISVALIDALIDATED = 1 - INT64)

Я выходил через код DAPPER, и SQLDAReader говорит, что этот столбец INT64 , так что это выглядит как разъем .NET MySQL Это «правда» (который должен быть Tinyint в MySQL) - это INT64 .

Я нашел Этот отчет об ошибках , который сказал, что для всех версий int (int, bigint, tinyint, smallint, inimintit) разъем .net возвращается int64. Однако это была ошибка в MySQL 5.0 и была исправлена, я использую 5,5. У меня есть mysql.data версии 6.4.3.0

У меня есть «решена» эту проблему, выбрав все это во временную таблицу с помощью колонки , объявленном как bool , но Это паршивое решение.

11
задан Glenn Slaven 14 September 2011 в 03:27
поделиться