Dapper将MySql BIT(1)数据类型映射到ulong而不是boolean

时间:2011-07-16 13:18:11

标签: .net mysql dapper

请有人通过Dapper和MySQL遇到上述情况。在MySQL(5.1)的所有表中,数据类型为BIT(1)或BIT,Dapper只返回ulong(UInt64)这样的字段。我正在使用MySql.Data.MySqlClient,我对EF没有这样的问题,这正是我想要转换的内容。

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

在MySQL中,类型Boolean使用MySQL映射到Tinyint(1)。也许你必须把它强制转换为Boolean(0 =假/ 1 =真),Convert.toBoolean(UInt64)可以帮助你(见http://msdn.microsoft.com/en-us/library/33f2zy48.aspx)。

@Christian Droulers:SQLite的行为类似。

答案 1 :(得分:0)

为什么不在sql查询中进行转换?

cast(myField using TINYINT(1)) as myField 

不确定这里是否有类型,但这就是我的数据库类型与我的对象不匹配的方式。