問題は、2 つの集計ルートがあることです
集約ルートは
- 計画。
- ニュース記事。
プロジェクトは、関連する 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' の反対側がどうあるべきかわかりません。
誰かが解決策を考え出すのを手伝ってくれるなら、事前に感謝します。