Отображение Dapper для типа MySql BIT (1) для ulong вместо логического

Прошу, чтобы кто-нибудь столкнулся с вышеупомянутой ситуацией с Dapper и MySQL. Во всех моих таблицах в MySQL (5.1), где тип данных - BIT (1) или BIT, Dapper просто возвращает такое поле, как ulong (UInt64). Я использую MySql.Data.MySqlClient, и у меня нет такой проблемы с EF, с которой я пытаюсь преобразовать.

Спасибо за любую помощь.

Ответы

Ответ 1

В MySQL тип Boolean сопоставляется с Tinyint(1) с MySQL. Возможно, вам придется отдать его на Boolean (0 = false/1 = true), Convert.toBoolean(UInt64) может вам помочь (см. http://msdn.microsoft.com/en-us/library/33f2zy48.aspx).

@Christian Droulers: поведение SQLite похоже.

Ответ 2

Почему вы не выполняете кастинг в своем sql-запросе?

cast(myField using TINYINT(1)) as myField 

Не уверен, что здесь есть тип, но так, как я делаю, когда мой тип db не соответствует моему объекту.