Oracleデータベースでは、EntityFrameworkデータベースを最初に使用しています。
どういうわけNumber(5)
かInt16
-short
最大Number(5)
値は99999
です。
最大Int16
値は32767です。
問題...マッパーに変換するように指示する方法はありNumber(5)
ますint32
か?
Oracleデータベースでは、EntityFrameworkデータベースを最初に使用しています。
どういうわけNumber(5)
かInt16
-short
最大Number(5)
値は99999
です。
最大Int16
値は32767です。
問題...マッパーに変換するように指示する方法はありNumber(5)
ますint32
か?
それを解決し、これをweb.configに追加しました:
<oracle.dataaccess.client>
<settings>
<add name="int16" value="edmmapping number(4,0)" />
<add name="int32" value="edmmapping number(9,0)" />
</settings>
</oracle.dataaccess.client>
ファイルを使用してモデルを再作成し、*.edmx
...
今Number(5)
はInt32
の代わりでInt16
あり、Number(10)
のInt64
代わりですInt32
私はそれが将来誰か他の人を助けることを願っています...
OracleとEntityFrameworkを使用すると、生成後にedmxファイルに適用する必要のある変更のシートが常に作成されます。
列のdataTypeを変更する以外に、edmxファイルの行の型を手動で編集することをお勧めします。これは、再生成するたびに行う必要があることを覚えておいてください。
については、私はこの作業を試してみて、トップ投稿コメントの質問Oracle.ManagedDataAccess.Client
に気づきました:
<oracle.manageddataaccess.client>
<version number="*">
<edmMappings>
<edmNumberMapping>
<add NETType="int16" MinPrecision="2" MaxPrecision="4" DBType="Number" />
<add NETType="int32" MinPrecision="5" MaxPrecision="9" DBType="Number" />
<add NETType="int64" MinPrecision="10" MaxPrecision="19" DBType="Number" />
<add NETType="bool" MinPrecision="1" MaxPrecision="1" DBType="Number" />
</edmNumberMapping>
</edmMappings>
</version>
</oracle.manageddataaccess.client>
`