我正在使用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有可能吗?
答案 0 :(得分:1)
是的,这是可能的。
public class ContractMappingOverride : IAutoMappingOverride<Contract>
{
public void Override(AutoMapping<Contract> mapping)
{
mapping.HasMany(x => x.Details).Access.CamelCaseField(Prefix.Underscore).Cascade.AllDeleteOrphan();
}
}
我刚从我的生产代码中复制了它。