我正在尝试为mini-profiler编写自己的DatabaseStorageBase,但在我的
private List<T> LoadFor<T>(DbConnection conn, object idParameter)方法。达普一直对我大喊大叫
Error parsing column 5 (level=0 - SByte)我将level存储为枚举,所以我假设dapper不能将Tiny Int转换为看起来像枚举的类型(ProfileLevel)?有人能建议我应该如何在mysql中存储级别,以便解决我的转换问题吗?
发布于 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提出拉取请求:)
https://stackoverflow.com/questions/8830123
复制相似问题