如何在映射类中将Access策略设置为指向base _photos字段?
public class Content
{
private IList<Photo> _photos;
public Content()
{
_photos = new List<Photo>();
}
public virtual IEnumerable<Photo> Photos
{
get
{
return _photos;
}
}
public virtual void AddPhoto() {...}
}
public class Article : Content
{
public string Body {get; set;}
}
我目前正在使用以下内容尝试找到支持字段,但由于找不到它而引发异常。
public class ArticleMap : ClassMap<Article>
{
HasManyToMany(x => x.Photos)
.Access.CamelCaseField(Prefix.Underscore) //_photos
//...
}
我尝试将支持字段_photos直接移动到类中,并且访问工作正常。那么我如何访问基类的支持字段?
答案 0 :(得分:3)
确定找到了答案。使用Fluent NHibernate 1.1版(2010年5月23日发布),您可以使用reveal成员方法:
Reveal.Member<YourEntity>("_privateField");
所以上面的映射类现在变为:
public class ArticleMap : ClassMap<Article>
{
HasManyToMany<Photo>(Reveal.Member<Article>("_photos"))
//...
}
发布详细信息:http://fluentnhibernate.org/blog/2010/05/23/feature-focus-fields.html
答案 1 :(得分:0)
尝试将_photos
的辅助功能更改为protected:
protected IList<Photo> _photos;