Отображение 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 не соответствует моему объекту.