在写作前搜索,阅读论坛和所有的建议。(已经调查了1天)。
Im使用:MySQLServer5.5,实体框架4.3,连接器6.5.4
(我使用的是连接器6.3.6,一切都运行良好,更新后出现问题)
我有一个返回实体对象列表的SP。该实体有一个bool(tinyint(1))字段,但当使用SP时,它会将其作为字符串返回。
我创建了一个临时表并返回它,但是同样的问题也会发生。错误是:

System.InvalidOperationException: The 'isDeleted' property on 'Container' could not be
set to a 'String' value. You must set this property to a non-null value of type
'Boolean'. at
System.Data.Common.Internal.Materialization.Shaper.ErrorHandlingValueReader`1.
GetValue(DbDataReader reader, Int32 ordinal)

问题是,因为它是一个实体对象,所以我不能转换.ToBoolean()[我也不想]。
我认为问题在于,我无法将SP字段强制转换为bool,或者连接器有错误(很可能)。
正如我所说,连接器6.3.6没有问题
谢谢。

最佳答案

虫子在那儿,但我找到了解决办法。当字段的顺序不同时,问题就出现了。
这个错误:http://bugs.mysql.com/bug.php?id=53166帮助我理解并尝试使文件的选择顺序与表相同。
例子:
如果表是:
a区,b区,c区
存储过程返回:field_b,field_a,field_c不起作用。
已将我的SP更改为返回字段a、字段b、字段c

10-07 19:03
查看更多