2009-04-29 5 views
1

これを説明する方法がわかりません。だからここに行く...NHibernateでレコードの一部をレイジーロードする

私は、hereと記載されているように怠惰なローディングブロブのためのメソッドに合っているのですが、私は1つのテーブルだけで立ち往生しています。

私は次のようになりスキーマ(レガシーシステムでは、固定)があります。

MyTable 
    ID int 
    Name char(50) 
    image byte 

をこれはInformixの上にあり、バイト列は、シンプルラージオブジェクトです。今私は通常"SELECT ID, Name, (image is not null) as imageexists..."とテーブルを照会し、後でBLOBの負荷を処理します。

私のオブジェクトモデルは2つの異なるクラス(したがって2つの異なるマップ定義)を持つことで関係を処理できますが、nhibernateを使って同じテーブルを使ってこの1対1の関係?

答えて

2

短い回答:できません。

あなたはそれを2回マッピングするか、(私の好み)あなたが望むフィールドを持つDTOを作成する必要があります。 HQLでは、次のようなことを行います:

select new MyTableDTO(t.ID, t.name) from MyTable t 
+0

私はデータ転送オブジェクトのアイデアを理解していません。私はhibernatingrhinos投稿からアイデアを適用し、同じテーブルにマップしようとします。 – hometoast

関連する問題