0

Int32 型のプロパティを持つエンティティ クラスがあります。DDL for ORACLE を使用して DDL を生成すると、NUMBER(10) 列が生成されます。インスタンスの読み取りと書き込みは問題なく動作します。

ただし、カスタム クエリを ObjectContext の ExecuteStoreQuery に送信するこのエンティティ クラスのインスタンスをフェッチすると、このプロパティは System.Double として返されるように見え、インスタンスの構築は失敗します。

System.Int32 を構築するよう DevArt にヒントを与えることはできますか?

ありがとうございました。バート

4

1 に答える 1

0

その理由は、ExecuteStoreQueryメソッドで使用されるOracleDataReaderの型マッピングが、EntityFrameworkプロバイダーで使用されるものとは異なるためです。NumberMappings
を使用することをお勧めします。Number (10)をInt32にマップする必要があると思います。これらの変更は、モデル接続文字列に永続化する必要があります(デフォルトのEFマッピングルールを複製しているため、ExecuteStoreQueryのOracleDataReaderに必要です)。問題が解決しない場合はお知らせください。Number Mappings=((NUMBER,10,10,System.Int32)

于 2011-07-01T11:58:49.633 に答える