Entity Framework 5中遇到的 mysql tinyint(1) 转换为 bool 的问题 (我用的是VS2013中的EF5版本)...
数据有一个字段,用的是 tinyint 长度是1 默认值为0 ,
当用vs2013中的 EF5来生成 实体模型之后,看到这个列被标识为 bool 类型
Mysql官方参考文档关于布尔类型的说明:
BOOL, BOOLEAN
These types are synonyms(同义词) for TINYINT(1). A value of zero is considered(认为是) false. Nonzero(不为0) values are considered true
下面是一个老外的文章,http://forums.mysql.com/read.php?38,562960,562960 他用的是EF4.3版本,我用的是EF5版本
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
Since the enumerations contain a small number of possible values (2-5), the majority of these fields are declared as the MySQL datatype TINYINT(1). In other words, we want an integer with a minimal amount of storage space and a maximum of "one character".
When we use Entity Framework 4.3 to map these TINYINT(1) fields to an "int" data type, the integer value *always* comes back as "1", regardless of the underlying storage value. The integer values 2, 3, 4, etc all get converted to 1.
If I convert the entity property's type to "string", it receives a value of "True".
It appears as though the MySQL Connector for .NET is hardcoded to treat TINYINT(1) as a boolean, regardless of the data type it's eventually bound to. TINYINT(1) should only be converted to a boolean when it's bound to a "bool" property, and nothing else. It appears as though it's trying to simulate the behavior of the "BIT" field in SQL Server, which is a completely different thing (it's not an integer, while TINYINT is).
Is this a known issue? Should I file a bug report?
翻译过来如下
他说,在EF4.3中,他用一个字段 Tinyint(1) 想去存一个 int类型的值,不管是存 1还是2,3,4 他都是变成了1
如果他在Ef的实体中把类型改为string,到了数据库却变成了 “True”
这个问题好像是发生在,通过 MySql Connector For .Net这个组件来链接Mysql的时候发生的 .
解决方法 .
Tinyint(1) 就只用来保存 bool 值 只有0和1 不要保存其他的值
如果要保存多的值,就用 Tinyint(4) 这样的,那么到了Ef中这个 类型会变成 sbyte ,这个就是一个整形 .
备注:sbyte:存储8位带符号整数。sbyte中的s代表带符号(signed),意味着变量可为正值或负值。sbyte变量的最小可能值为-128,最大可能值为127。
Entity Framework 5中遇到的 mysql tinyint(1) 转换为 bool 的问题 (我用的是VS2013中的EF5版本)...相关推荐
- 创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表
创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表 创建数据模型类(POCO类) 在Models文件夹下添 ...
- 了解Entity Framework中事务处理
Entity Framework 6以前,框架本身并没有提供显式的事务处理方案,在EF6中提供了事务处理的API. 所有版本的EF,只要你调用SaveChanges方法进行插入.修改或删除,EF框架会 ...
- 如何使用Entity Framework在Always Encrypted列上模拟通配符搜索
介绍 (Introduction) The title of this post should have been "How to implement wildcard search fun ...
- Entity Framework ModelFirst尝试
原文:Entity Framework ModelFirst尝试 前言 Model First我们称之为"模型优先",这里的模型指的是"ADO.NET Entity Fr ...
- Entity Framework Code First关系映射约定
本篇随笔目录: 1.外键列名默认约定 2.一对多关系 3.一对一关系 4.多对多关系 5.一对多自反关系 6.多对多自反关系 在关系数据库中,不同表之间往往不是全部都单独存在,而是相互存在关联的.两个 ...
- Entity Framework 实体框架的形成之旅--利用Unity对象依赖注入优化实体框架(2)
在本系列的第一篇随笔<Entity Framework 实体框架的形成之旅--基于泛型的仓储模式的实体框架(1)>中介绍了Entity Framework 实体框架的一些基础知识,以及构建 ...
- 彻底征服 Entity Framework Core 优化!
作者 | 喵叔 责编 | 胡巍巍 出品 | CSDN(ID:CSDNnews) 这篇文章我们来讲解一下 Entity Framework Core 的优化方案.Entity Framework Cor ...
- .net Entity Framework
Entity Framework,即实体框架(EF),由微软公司出品. 目前有两个大的版本.net版本和.core版本 微软官方描述: 实体框架文档 Entity Framework Core 是适用 ...
- Entity Framework 在MySQL中执行SQL语句,关于参数问题
在Entity Framework中添加MySQL模型,在写代码的过程中需要直接执行SQL语句. 在SQL语句中用到了@curRank := 0 这样在SQL语句中定义参数,同时还会有传入参数:ai. ...
最新文章
- 使用navicat工具创建MySQL存储过程
- 二调建设用地地类代码_二调土地地类代码表
- library “libopencv_java4.so“ not found“
- VTK:Utilities之ConstructTable
- java测试磁盘读写速度_用来测试自己硬盘读写性能的代码勿尝试
- sso集成shiro_Keycloak SSO集成到jBPM和Drools Workbench中
- 使用java自带的日志管理_java日志管理
- Flask render_template
- SMTP协议初探(二)----linux下c编程实现发邮件
- slab中记录空闲对象
- C++ new 解析重载
- Other - 个人对知识讨论、分享等平台上抄袭乱象的看法
- 【Python】使用Python批量移动文件
- Android控件——HorizontalScrollView使用(一)
- 纳税申报、发票识别验真:解析RPA如何应用于税务领域
- 最新蹭网录制教程,pin破解,wpa破解
- 爬虫练习三:爬取链家二手房信息
- 八十二烷基笼状聚倍半硅氧烷poss无色透明黏稠液体|提高颜料分散性
- 《新撰组异闻录——铁》启示录
- 满天都是小星星C语言答案,满天都是小星星
热门文章
- 抓豆瓣的电影评论数据
- 将信息系学生的计算机文化学,计算机学生论文,关于基于职业岗位的计算机文化基础课教学相关参考文献资料-免费论文范文...
- 华为日志服务器文档,免费日志服务器
- python读取多个文件夹_在python中如何从不同的文件夹读取多个文件
- JSP 开发环境搭建概述
- Powershell 如何批量获取文件大小的实现代码
- xgboost 正则项_XGBoost入门系列第一讲
- JavaScript初学者编程题(8)
- golang 绘图库_golang在图片上绘制中文不乱码的方法
- nginx文件服务器html美化,关于nginx:Nginx浏览目录配置及美化