2

書く前に、フォーラムを検索し、読んで、SOのすべての提案。(1日はすでに問題を調査しています)。

使用しているもの:MySqlServer5.5とEntityFramework4.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)

問題は、それがEntityオブジェクトであるため、Convert.ToBoolean()を実行できないことです[これもしたくありません]。問題は、SPフィールドをboolとしてキャストする機能がないか、コネクタにバグがあることです(ほとんどの場合)。

私が言ったように、それはコネクタ6.3.6で問題なく動作しました

ありがとう。

4

1 に答える 1

1

バグはありますが、回避策を見つけました。フィールドの順序が同じでない場合に問題が発生しました。

このバグ:http : //bugs.mysql.com/bug.php?id = 53166は、ファイルの選択順序を同じテーブルにすることを理解し、試すのに役立ちました。

例:テーブルが:の場合

field_a、field_b、field_c

ストアドプロシージャは次のように戻ります:field_b、field_a、field_cは機能しません。

SPを変更してfield_a、field_b、field_cを返すようにしました

于 2012-05-07T15:17:59.473 に答える