0
私は、次のコードを持っている:後で、その後NHibernateは - 保存されたオブジェクトにアタッチされている項目は、DBに保存されていない理由を
var rootFolder = new KnowledgeFolder { Archived = true, Name = path.First()};
this._folderRepository.Save(rootFolder); // this goes to the db
そして:
var child = new KnowledgeFolder { Name = entry, Archived = true };
rootFolder.Children.Add(child);
//////////
this._folderRepository.FlushSession();
(無関係なコードはここではないですが) rootFolderはdbに正しく保存されますが、後で子に追加するアイテムは保存されません。どうして?私は、ルートフォルダが以前にデータベースからダウンロードされていれば、これが動作することを知っています。なぜNHibernateはオブジェクトグラフをチェックするほどスマートではないのですか?
//編集
マッピングは次のように流暢なAPIを使用して行われます:あなたは子項目に親を設定アレント
mapping.HasManyBidirectional<KnowledgeFolder, KnowledgeFolder>(g => g.Children, p => p.Parent);
子供のマッピングを表示できますか?子コレクションには、カスケード=「すべて」または定義されたもの – bernhardrusch