nhibernateでsqliteマニフェストタイピング機能を使用することは可能ですか?
-
06-07-2019 - |
質問
これはhibernate.orgフォーラムとnhusersリストにあまり運がなかったので、ここで試してみようと思いました。
簡単に言えば、クラスがあるとします:
class A
{
public virtual object SomeValue { get; set; }
}
SomeValueの型は、基本的に.NET IConvertible型(bool、byte、char、int16、double、floatなどのプリミティブ)に加えて、byte []と文字列のセットにあります。
これを反映するためにAのnhibernateマッピングを作成しようとしています-基本的にSomeValueを(上記のタイプの)任意のオブジェクトに設定し、後で取得できるようにするためです。その後、applogicはそれを反映してタイプを見つけ、それに応じて動作します。
これまでのところ、これを処理しようとするIUserTypeの実装を作成しようとしました。ただし、SqlType [] SqlTypesに対して何を返すかわかりません。新しいSqlType(DbType.Object)を検討しましたが、これからスキーマを生成しようとすると、System.ArgumentExceptionが表示されます。DialectはDbType.Objectをサポートしていません
別のデータ型を試すと、型を変換しようとしたときにさまざまなキャスト例外が発生します。たとえば、DbType.Binaryを使用し、someValueをint32に設定すると、コミットしようとするとSystem.InvalidCastExceptionが発生します。タイプ 'System.Int32'のオブジェクトをタイプ 'System.Byte []'にキャストできません。
これを達成する方法はありますか?
所属していません StackOverflow