2011-05-05 88 views
0

我使用Fluent Nhibernate和AutoMappings。它提供了覆盖以下任何方式对应的属性能力:Fluent自动映射覆盖单个属性

public class CommunityMap : IAutoMappingOverride<Community> 
{ 
    public void Override(AutoMapping<Community> mapping) 
    { 
     mapping.Map(x => x.Description).Length(5000); 
     mapping.Cache.ReadWrite(); 
    } 
} 

此类改变Description柱不仅Length财产,而且它在映射改变列名。 HasMany等也一样。例如,我想禁用特定集合的延迟加载,但保留automappings设置的所有其他属性。 FNH有可能吗?

回答

1

是的,这是可能的。

public class ContractMappingOverride : IAutoMappingOverride<Contract> 
{ 
    public void Override(AutoMapping<Contract> mapping) 
    { 
     mapping.HasMany(x => x.Details).Access.CamelCaseField(Prefix.Underscore).Cascade.AllDeleteOrphan(); 
    } 
} 

我刚刚从我的生产代码中复制出来。

+0

在这里你改变了所有属性有很多关联。我只想更改延迟加载,但不要更改其他所有内容。 – Sly 2011-05-05 15:53:09