【发布时间】:2017-06-01 16:56:12
【问题描述】:
我正在尝试使用 Dapper 将数据库从 MySQL 迁移到 SQLServer。
除了 TinyInt 字段外,几乎一切正常。
无论我在 C# 代码中指定什么类型,Dapper 都会系统地抛出异常:
{"解析第 18 列时出错 (COLUMN_WITH_PROBLEM=0 - SByte)"}。
这似乎与MySQL数据库中的一条记录的值为null有关
我试过了:
-
int,int? -
byte,byte? -
Byte,Byte? -
sbyte,sbyte? -
SByte,SByte? -
short,short? - 甚至
boolean?
但我总是遇到同样的问题。
我必须在我的 C# 代码中指定什么类型才能避免此错误?
显然我无法更改数据库中的列类型。
【问题讨论】:
-
你试过哪些?
-
@juharr 这是我的问题:int,int?,byte,byte?,Byte Byte?,sbyte,sbyte?,SByte,SByte?甚至是布尔值?
-
Tinyint 列是有符号还是无符号?
-
sql server 中的 Tinyint 应该映射到 .Net 中的 Byte... 我知道您已经尝试过但没有运气。你也可以发布一些相关的代码吗?
-
mySQL tinyint 中的@Bridge 已签名,但在我的情况下,我拥有的唯一值是 0 和 null
标签: c# mysql sql-server dapper tinyint