Fluent NHibernate 1.2.0.712を使用してclobフィールドをOracle 10gに対してマップしようとしました。私はSystem.Dataプロバイダーを使用しています。既定で利用可能で、以前のクライアントの問題のためにODP.Netへの参照を追加しないようにしようとしていました。Fluent NHibernate、Oracle 10gおよびOracleClientConfiguration.Oracle10を使用したクロップのマッピング
私がマッピングされたCLOB特性を持つエンティティを挿入しようとすると、しかし、私はエラーを取得:
ORA-01461:私が試したLONG列
にのみ挿入用のLONG値をバインドすることができます以下の規則を使用して、[StringLengthの(4000)]で適切なプロパティを飾ることで、この問題を解決するには:
public class StringLengthConvention : AttributePropertyConvention<StringLengthAttribute>
{
protected override void Apply(StringLengthAttribute attribute, IPropertyInstance instance)
{
instance.Length(attribute.MaximumLength);
}
}
これは動作しませんでした。
次に、「TEXT」、「CLOB」、および「clob」の値を使用して以下を試しました。いずれも機能しませんでした:
ODPをプロバイダーとして追加する以外にも、この修正に関する提案はありますか?
私は、Microsoftのプロバイダをしませんが、ODP.NETを使用すると、CLOBの場合は特別なことをする必要はありません、彼ら通常の文字列としてマップされます(ただし、空の文字列を空のclobの代わりにnullとして挿入しようとします)。 'plaparte.disposiciones'プロパティは文字列ですか? – cremor