mli*_*rde 5 .net mysql entity-framework tinyint
我有一种情况,我需要将MySQL数据库中的TINYINT视为数值,而不是TRUE/FALSE.
根据我的理解,MySQL .Net Connector用于将TINYINT映射为Byte.不幸的是,似乎不再是这种情况,TINYINT现在映射到布尔值.我需要像往常一样将TINYINT转换为Byte.我知道连接字符串参数'Treat Tiny As Boolean = False'应该可以解决这个问题.出于某种原因,这在使用实体框架时似乎不起作用.有任何想法吗?
根据我所做的研究和达斯汀戴维斯的评论,我终于找到了问题的解决方案。诀窍是将“Treat Tiny As Boolean=False”添加到连接字符串,然后在 bot 中编辑 edmx 文件的“SSDL 内容”部分和“CSDL 内容”部分。
在 SSDL 中找到“bool”的地方,将其替换为“tinyint”,在 CSDL 中找到“Boolean”的地方,将其替换为“SByte”。如果需要,您还可以使用“int”和“Int32”;然而我相信MySQL实际上给了你一个“SByte”。在我的情况下,我正在读取通过 Access 前端输入到数据库的数据,该前端使用 -1 / 0 表示 True / False。这就是我需要 SByte 的原因。
| 归档时间: |
|
| 查看次数: |
1479 次 |
| 最近记录: |