请问有没有人遇到过Dapper和MySQL中的上述情况。在我所有MySQL表(5.1)中,数据类型为BIT(1)或BIT的字段,Dapper只会将其返回为ulong (UInt64)。我正在使用MySql.Data.MySqlClient,但我在尝试转换的EF中没有这样的问题。
感谢任何帮助。
Boolean
被映射到MySQL的Tinyint(1)
。也许你需要将它强制转换为Boolean
(0=false/1=true),Convert.toBoolean(UInt64)
可能会有所帮助(参见http://msdn.microsoft.com/en-us/library/33f2zy48.aspx)。cast(myField using TINYINT(1)) as myField
这里不确定类型,但当我的数据库类型与对象不匹配时,我通常会这样做。
MySqlDataReader r
导致BIT
的r[i]
变成了 UInt64。 这有点烦人。 我现在需要在我的ORM中修补它。 但是对于Dapper,我可以绕过它吗?因为实际上我不需要读取该值。 它仅用于我的where语句。我只需避免在该表中使用*并且它只有3个列(+2个用于ID和标志)。 - user34537