流畅的自动化覆盖单一属性

时间:2011-05-05 14:40:15

标签: .net nhibernate orm fluent-nhibernate mapping

我正在使用Fluent Nhibernate和AutoMappings。它提供了以下列方式覆盖任何映射属性的功能:

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

此类不仅更改了Length列的Description属性,还更改了映射中的列名。同样适用于HasMany和其他人。例如,我想为特定集合禁用延迟加载,但保留由automappings设置的所有其他属性。 FNH有可能吗?

1 个答案:

答案 0 :(得分:1)

是的,这是可能的。

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

我刚从我的生产代码中复制了它。