2

在写作之前搜索、阅读论坛和 SO 的所有建议。(已经调查了 1 天)。

我正在使用:MySql Server 5.5 with Entity Framework 4.3 with Connector 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)

问题是,因为它是一个实体对象,我不能 Convert.ToBoolean() [我也不想]。我认为问题在于我没有能力将 SP 字段转换为 bool 或连接器有错误(很可能)。

正如我所说,连接器 6.3.6 没有问题

谢谢。

4

1 回答 1

1

错误在那里,但我找到了解决方法。当字段的顺序不同时,就会出现问题。

这个 BUG:http ://bugs.mysql.com/bug.php?id= 53166 帮助我理解并尝试使文件的选择顺序与表格相同。

示例:如果表是:

字段_a、字段_b、字段_c

并且您的存储过程返回: field_b、field_a、field_c 将不起作用。

将我的 SP 更改为返回 field_a、field_b、field_c

于 2012-05-07T15:17:59.473 回答