mysql sbyte 转 bool_Entity Framework 5中遇到的 mysql tinyint(1) 转换为 bool 的问题 (我用的是VS2013中的EF5版本)...

在使用Entity Framework 5与MySQL时,遇到TINYINT(1)字段默认转换为bool的问题。即使存储的值不是0或1,也会被转化为bool类型。当将字段类型改为int或string时,数据读取异常。解决方案是确保TINYINT(1)仅用于存储bool值,或者使用更大的TINYINT类型并映射为sbyte。
摘要由CSDN通过智能技术生成

数据有一个字段,用的是 tinyint 长度是1  默认值为0 ,

bc31e8fc16271efe614e1b4d9f81e133.png

当用vs2013中的 EF5来生成 实体模型之后,看到这个列被标识为 bool 类型

124670727a0109e1897995881470a32f.png

Mysql官方参考文档关于布尔类型的说明:

BOOL, BOOLEAN

These types are synonyms(同义词) for TINYINT(1). A value of zero is considered(认为是) false. Nonzero(不为0) values are considered true

I believe I've discovered a bug in the way the MySQL Connector for .NET maps fields of type TINYINT(1) within Entity Framework.

The database I'm working with has a number of fields used to store "enumeration values" - basically an integer that represents a specific .NET enumeration value. ie/ Open = 1, Closed = 2

S

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值