数据库在SQL Server 2005中,我所讨论的列的数据类型定义为tinyint
(我无法更改此类型)
我创建了一个类型为Int32
的模型。在read语句系统中抛出此错误。
无法将属性设置为字节值,必须将属性设置为int32
类型的非null
我遇到了其他类型的类似问题,然后在检查CLR映射后我更正了它们。现在,只有在tinyint
和smallint
的情况下,我才会遇到此问题。
答案 0 :(得分:15)
从SQL Server docs您可以看到TINYINT
是一个1字节的值,它作为byte
类型映射到.Net。 SMALLINT
是2个字节,在.Net中变为Int16
。
因此,您需要更改模型以使用正确的类型。
答案 1 :(得分:1)
只需从复杂实体更改属性数据类型即可。 在你的情况下,将属性从int32更改为byte。
至少它对我有用。