質問

ちょっと。 Fluent構文に関する簡単な質問。私はこれがダウンしていると思っていましたが、奇妙な失敗に直面しています。基本的に、私は永続化しようとしている階層的な構造を持ち、実際に統合テストを行った場合を除いて、すべて機能しているようです。

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

プロパティは関係の相関を処理し、メモリ内オブジェクトは問題なくテストします。ただし、リポジトリ(テストではメモリ内のSQLite db)からそれらを取得すると、何らかの理由でNodeのChildren自体が含まれます。アイデアはありますか?

マッピングはほとんどAutoMapで行われますが、次のことをオーバーライドしました:

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

Inverse()呼び出しなしでも試しました。

役に立ちましたか?

解決

了解。問題は、外部キーのためにどのIDフィールドをフックするかを子コレクションに伝える必要があることでした。

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

mapping.HasMany(m => m.Children)
  .Inverse()
  .KeyColumn("ParentId")
  .Access.CamelCaseField(Prefix.Underscore)
  .Cascade.All()
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top