1

我正在用额外的 .net 支持的报告来补充一个开源 Web 应用程序。在数据库中,有一列是 TinyInt(1),Entity Framework 假定它是一个布尔值。

我发现的问题是应用程序正在使用该列作为枚举,其中的值也为 2 或更高。不幸的是,我无法更改此应用程序的架构。

尝试将框架设置为将列映射到 SByte 而不是 boolean 会导致编译错误,并且 Google 和 Stack 搜索尚未成功。

在我编写一个包含手动 SQL 的自定义类来获取这些值之前,有没有办法说服 EF 将该列视为除 bool 之外的任何内容?

感谢你的帮助!

4

1 回答 1

0

tinyint(1) 是一个 8 位值,但限制为 1 个字符显示 (the (1))。旧版本的 mysql 不支持布尔字段,因此 tinyint(1) 传统上用于模拟它们。删除显示大小限制,它应该被视为任何其他 1byte int。

于 2012-11-14T17:02:36.553 回答