问题是我有两个聚合根
聚合根是
- 项目。
- 新闻文章。
一个项目可以有一组相关的 NewsArticle。一个 NewsArticle 可以有一个相关项目的集合。
要求是:
- 用户可以从 Projects 中关联多个 NewsArticle。
- 用户可以从 NewsArticles 关联多个项目。
在数据库中。
NewsArticle --* NewsArticleProject *-- 项目。
在映射中
新闻文章侧
public void Override(AutoMapping<NewsArticle> mapping)
{
mapping.HasManyToMany(c => c.FeaturedProjects).Cascade.All().Table("NewsArticleProject").AsSet();
}
项目方
public void Override(AutoMapping<Project> mapping)
{
mapping.HasManyToMany(c => c.FeaturedNewsArticles).Table("NewsArticleProject").Inverse().AsSet();
}
我也尝试过HasMany()
,但这给了我一条错误消息,抱怨我也设置了 ColumnName。
我正在努力让流利的 nHibernate 很好地融入它的映射,以便它可以满足我的要求。
我只能设法让它在一侧工作,但是当我尝试让它与另一侧一起工作时,我收到了这个错误消息。
无法弄清楚多对多属性“FeaturedNewsArticles”的另一面应该是什么。
如果有人可以帮助我提出解决方案,请提前致谢。