0

クラス (Adjustment) にロジックをロードする必要があるため、Nhibernate で IUserType を実装しました。単一の参照の場合、正常に機能します。

    Map(p => p.DefaultAdjustment)
        .CustomType(typeof(AdjustmentCustomMap));

その SqlType は文字列です。
ただし、Adjustment からのコレクションも持っています。どのようにマッピングすればよいかわかりません。

        HasMany(p => p.Adjustments)
            .Cascade.AllDeleteOrphan()
            .Inverse())
            ;

IUserType の実装を取得してコレクションをロードするにはどうすればよいですか?
NH 3.3 を使用
しています。よろしくお願いします。

4

1 に答える 1

1

マッピングで使用.Element()してみてください。HasManyエンティティのコレクションではなく、単純なオブジェクトのコレクションをマッピングしているため、、、、...のコレクションstringをマッピングする場合と同じマッピングを使用する必要があります。intGuid

HasMany(p => p.Adjustments)
    .Element("Adjustment", e => e.Type<AdjustmentCustomMap>())
    .Cascade.AllDeleteOrphan()
    .Inverse())
    ;

methodの最初のパラメーターはElement列名です。

于 2012-07-08T10:55:57.140 に答える