2012-04-13 220 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所需屬性映射而不需要延遲。

它解決了我的問題。