Сильное отображение типа данных MySql BIT (1) на ulong вместо boolean - PullRequest
14 голосов
/ 16 июля 2011

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

Ответы [ 2 ]

3 голосов
/ 25 ноября 2011

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

@ Кристиан Дорулерс: поведение SQLite аналогично.

0 голосов
/ 15 декабря 2011

Почему бы вам не выполнить приведение в вашем sql-запросе?

cast(myField using TINYINT(1)) as myField 

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

...