【发布时间】:2011-07-15 20:22:56
【问题描述】:
问题是我有两个聚合根
聚合根是
- 项目。
- 新闻文章。
一个项目可以有一个相关的 NewsArticle 的集合。 一个 NewsArticle 可以有一个相关项目的集合。
要求是:
- 用户可以关联多个来自项目的 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”的另一面应该是什么。
如果有人可以帮助我提出解决方案,请提前致谢。
【问题讨论】:
标签: fluent-nhibernate many-to-many aggregateroot mappings