我有以下类,我使用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;} }
}
答案 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)));
});
然后你会得到你想要的东西。