5

我有一种情况,我需要将 MySQL 数据库中的 TINYINT 视为数值而不是 TRUE / FALSE。

据我了解,MySQL .Net 连接器用于将 TINYINT 映射为字节。不幸的是,对我来说,情况似乎不再如此,TINYINT 现在映射到布尔值。我需要像以前一样将 TINYINT 转换为字节。我知道连接字符串参数 'Treat Tiny As Boolean=False' 应该可以处理这个问题。由于某种原因,这在使用实体框架时似乎不起作用。有任何想法吗?

4

1 回答 1

3

使用我所做的研究和 DustinDavis 的评论,我终于能够想出解决问题的方法。诀窍是将“Treat Tiny As Boolean=False”添加到连接字符串中,然后在机器人的“SSDL 内容”部分和“CSDL 内容”部分中编辑 edmx 文件。

在找到“bool”的 SSDL 中,将其替换为“tinyint”,在找到“Boolean”的 CSDL 中将其替换为“SByte”。如果需要,您也可以使用“int”和“Int32”;但是我相信 MySQL 实际上给了你一个“SByte”。在我的情况下,我正在读取通过 Access 前端输入数据库的数据,该前端使用 -1 / 0 表示 True / False。这就是我需要 SByte 的原因。

于 2011-07-12T16:44:50.263 回答