2011-08-02 5 views
3

私はNHibernate 3.1を使用しています。私はSystem.Drawing.Imageを表すユーザータイプを持っています。プロパティの遅延ロードを可能にするためにイメージプロパティのマッピングを変更するまでは、完全に正常に動作します。NHiberateユーザタイプのプロパティ遅延ロードを処理する方法

特定の時点で、NHibernateはimageプロパティを持つエンティティを更新することを決定します。

public void NullSafeSet(IDbCommand cmd, object value, int index) 
{ 
    ... 
} 

画像プロパティは遅延ローディング機構は「wasnようにアクセスされなかったので、明らかにこれが事実である:何が起こることは、ユーザタイプの以下の方法でvalue実際Imageない値を有することですトリガーされた。私がここにないのは、値がnullではないが、デバッガのクイックウォッチは、それが「オブジェクト」であること以外のインスタンスに関する詳細を私に与えないということです。それはプロキシのインスタンスのいくつかの並べ替えのインスタンスですか?

これで、NHibernateが変更されていないプロパティを更新しないようにする方法を探しています。すぐにメソッドから戻ってくるだけでは、プロパティの値が不足していることを示す例外がスローされるため、機能しません。

答えて

1

NHibernateは、 "ダイレクト"モードではなくcascade="none",でプロパティを1対1(またはシナリオに応じて多対1)として宣言することにより、エンティティのプロパティ。

関連する問題