C# 在Fluent NHibernate AutoMapper中通过可访问性忽略属性映射

C# 在Fluent NHibernate AutoMapper中通过可访问性忽略属性映射,c#,nhibernate,fluent-nhibernate,nhibernate-mapping,automapping,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<P

我使用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;} }
}
公共类团队:实体
{
受保护的内部虚拟IList团队成员{get;set;}
public IEnumerable TeamMembers{get{return TeamMembers;}}
}

以下是如何告诉NHibernate的自动持久性模型忽略您的属性:

var cfg = Fluently.Configure()
            .Database(configurer)
            .Mappings(m =>
                        {
                            m.AutoMappings.Add(AutoMap.Assemblies(Assembly.GetExecutingAssembly())
                                .Override<Team>(map => map.IgnoreProperty(team => team.TeamMembers)));
                        });
var cfg=fluntly.Configure()
.数据库(配置器)
.Mappings(m=>
{
m、 添加(AutoMap.Assembly(Assembly.getExecutionGassembly())
.Override(map=>map.IgnoreProperty(team=>team.TeamMembers));
});
你就会得到你想要的