0

基本マップクラス(独自のアセンブリ内)があり、SegmentプロパティはLazyLoadとして宣言されています。

public class GroupMap : ClassMap<Group>
{
    public GroupMap()
    {
        ....

        Map(x => x.Segment)
            .LazyLoad();
    }
}

私のアプリケーションでは、このプロパティをLazyLoadにしないようにします。私はこのようないくつかの方法を試しました:

public class MyGroupMap : GroupMap
{
    public MyGroupMap() : base()
    {
        Map(x => x.Segment)
            .Not.LazyLoad();
    }
}

そして、このクラスをマッピングに追加します。ただし、実行時例外を生成するだけです(プロパティセグメントはすでにマップされています。明らかです)。助言がありますか?Propertiesプロパティが役立つと思いますが、非推奨です。

4

1 に答える 1

0

私は流暢なnhibernategoogle-groupで答えを得ます。主なアイデアは、メインプロパティがマップされたベースマッピングクラス(GroupMapBase)を作成することです。また、lazyloadプロパティを持つGroupMapクラス。また、GroupMapBaseに基づくMyGroupMapクラスでは、必要なプロパティが遅延読み込みなしでマップされます。

それは私の問題を解決しました。

于 2012-04-24T05:17:31.383 に答える