2012-04-13 221 views
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(); 
    } 
} 

并将此类添加到Mappings。但它只会产生一个运行时异常(Property Segment已被映射,明显)。有什么建议么?我认为属性可能会有所帮助,但它已被弃用。

回答

0

我在流利的nhibernate google-group中得到了答案。 主要想法是创建映射了主属性的基础映射类(GroupMapBase)。此外GroupMap类具有lazyload属性。 而MyGroupMap类基于GroupMapBase所需属性映射而不需要延迟。

它解决了我的问题。