1e250 のような値を含む可能性のある C# System.Double プロパティがあります。
public virtual double DoubleValue {get; set;}
プロパティは BINARY_DOUBLE 列にマップされます:
<property name="DoubleValue" column="VALUE_BINARY_DOUBLE"/>
Binary_Double の最大値は約 1.7e+308 ( Oracle ドキュメント) ですが、例外が発生しています:
ORA-01426: 数値オーバーフロー
SQL+ を介してクエリを実行しても問題が発生します。TO_BINARY_DOUBLE キャストを使用して機能させる必要があります。私の理解では、指定された数値は暗黙的に NUMBER に変換されます。私のクエリは 1e125 (NUMBER の最大値は 1e126) で動作しますが、1e250 では動作しません。
私もこれらのマッピングを試しましたが、成功しませんでした:
<property name="DoubleValue" column="VALUE_BINARY_DOUBLE" type="System.Double"/>
<property name="DoubleValue" column="VALUE_BINARY_DOUBLE" type="binary"/>
使用: Oracle 11G - NHibernate 2.1.0 - .Net 3.5 SP1
あなたが提供する可能性のあるリードをありがとう!