通过Fluent NHibernate AutoMapper中的可访问性忽略属性映射

时间:2010-08-19 09:27:07

标签: c# nhibernate fluent-nhibernate nhibernate-mapping automapping

我有以下类,我使用Fluent NHibernate的AutoMapper进行映射。我不希望列表项可以公开修改,因此有IEnumerable支持的公共IList可以在内部填充,也可以由NHibernate填充。

我希望NHibernate将teamMembers映射到名为TeamMembers的列。我还希望FNH忽略此类的TeamMembers属性。

public class Team : Entity
{
    protected internal virtual IList<Person> teamMembers { get; set; }
    public IEnumerable<Person> TeamMembers { get { return teamMembers;} }
}

1 个答案:

答案 0 :(得分:5)

以下是告诉NHibernate的Autopersistence模型忽略您的属性的方法:

var cfg = Fluently.Configure()
            .Database(configurer)
            .Mappings(m =>
                        {
                            m.AutoMappings.Add(AutoMap.Assemblies(Assembly.GetExecutingAssembly())
                                .Override<Team>(map => map.IgnoreProperty(team => team.TeamMembers)));
                        });

然后你会得到你想要的东西。