首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TinyInt的巧妙转换

TinyInt的巧妙转换
EN

Stack Overflow用户
提问于 2012-01-12 12:27:40
回答 1查看 1.9K关注 0票数 5

我正在尝试为mini-profiler编写自己的DatabaseStorageBase,但在我的

代码语言:javascript
复制
private List<T> LoadFor<T>(DbConnection conn, object idParameter)

方法。达普一直对我大喊大叫

代码语言:javascript
复制
Error parsing column 5 (level=0 - SByte)

我将level存储为枚举,所以我假设dapper不能将Tiny Int转换为看起来像枚举的类型(ProfileLevel)?有人能建议我应该如何在mysql中存储级别,以便解决我的转换问题吗?

EN

回答 1

Stack Overflow用户

发布于 2012-10-10 01:09:23

哇。多酷的内部人士啊,我也在为miniprofiler实现我自己的mysqlstorage,并得到了类似的错误。

miniprofiler使用枚举作为MiniProfiler.Level和SqlTiming.ExecuteType的字节,对此属性使用tinyint数据类型返回无效的cast,这表明它返回的是字节而不是字节。此行为是mysql的默认行为,因为它允许返回tinyint的有符号值,而不是这里提到的sqlserver:

http://forums.mysql.com/read.php?38,5524,5581#msg-5581

http://social.msdn.microsoft.com/Forums/br/adonetefx/thread/8b0949ba-03e8-4637-baa1-d2b4ff0771f0

因此,解决方法只需将level和executeType的tinyint字段更改为无符号tinyint即可返回正确的值(转换为字节)。现在我的mysqlstorage可以正常工作了..希望能向sam提出拉取请求:)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8830123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档