2

やあみんな。Fluent構文に関する簡単な質問。私はこれが落ちたと思っていましたが、奇妙な失敗をしています。基本的に、私は永続化しようとしている階層的な種類の構造を持っており、dbを使用して実際の統合テストを行う場合を除いて、すべてが機能しているようです。

別のノードであるParentプロパティを持つNodeオブジェクトと、ノードのコレクションである読み取り専用のChildrenプロパティをサポートする_childrenフィールドがあります。

プロパティは関係の相関を処理し、メモリ内のオブジェクトは問題なくテストされます。ただし、リポジトリ(テストではメモリ内のSQLiteデータベース)からそれらを取得すると、何らかの理由でノードの子にそれ自体が含まれます。何か案は?

私のマッピングは主にAutoMapを使用して行われますが、以下をオーバーライドしました。

mapping.References(x => x.Parent);
mapping.HasMany(x => x.Children).Inverse().Access.LowerCaseField(Prefix.Underscore);

また、Inverse()呼び出しなしで試してみました。

4

1 に答える 1

3

とった。問題は、外部キーにフックするIdフィールドを子コレクションに指示する必要があることでした。

そのマッピングを次のように変更しました。

mapping.HasMany(m => m.Children)
  .Inverse()
  .KeyColumn("ParentId")
  .Access.CamelCaseField(Prefix.Underscore)
  .Cascade.All()
于 2009-09-10T21:21:48.623 に答える