私は1対多数のマッピングを持っています。親オブジェクトを取得しようとすると、マッピングで遅延ロードを停止しても、子オブジェクトも表示されます。私は親オブジェクトだけを取得し、子オブジェクトは取得しません。どうすればいいですか?親オブジェクトを取得するために流暢なnhibernateを使用
0
A
答えて
0
なぜあなたはそれらを必要としない場合、子供にアクセスしますか?怠惰なコレクションは、アクセスしないと初期化されません。ポストロードイベントで次のようなものがあるかもしれません:
var pc = Parent.Childs as IPersistentCollection;
if (pc != null && !pc.WasInitialized)
Parent.Childs = null;
+0
私は実際に取得された親オブジェクトを使用して、他のいくつかの子要素をsession.saveorupdate(Parent、child)を使って保存しています。以前に保存された子要素も取得された場合、問題を引き起こしています。 –
1
コードをデバッグするときに、レイジーローディングを引き起こしているようです。
あなたは、これはその後、何を意味するのかわからない場合はこれを理解してみてください。 -
- あなたが親
- Visual Studioはブレークポイント にヒット取得し、あなたのコード
- にブレークポイントを置きます
- 子がロードされているかどうかを調べる
- ビジュアルスタジオデバッガが子供を検索して取得します< - これが遅延ロードの原因となります。これをVSで観察すると、遅延ロードが強制されます。
それでもわからない場合は、log4netのを経由してSQLプロファイラ、利用ログを追加したり、NHProf(30日間の無料)をダウンロードして生成されたSQLを参照して、ブレークポイントがあってもなくてもしてください、あなたがします違いを参照してください。私の経験から
関連する問題
- 1. 親オブジェクトを流暢なnhibernateで取得する
- 2. ローカライズのための流暢なNHibernateマッピング
- 3. 流暢なnhibernateを使ったプライベートプロパティマッピング
- 4. 流暢なNHibernateマッピング
- 5. C#流暢なnhibernate
- 6. 流暢なNHibernate RegisterFunction SQLFunctionTemplateの使用
- 7. 流暢なNHibernate - CultureInfoオブジェクトのマッピング?
- 8. nhibernate +流暢nhibernateでオブジェクトを更新するには?
- 9. 流暢NHibernateマップアドレスタイプ
- 10. null値を持つレコードの取得 - 流暢なnhibernate
- 11. 1対多マッピングを使用した流暢なnhibernateの登録
- 12. 3進マッピングテーブルを使用した流暢なnHibernateマッピング
- 13. 流暢なnhibernateバッチ保存
- 14. 流暢なNhibernate無限サイクル
- 15. 流暢Nhibernate不明なパス
- 16. 流暢なnHibernateとJoinSubClasses
- 17. 流暢なNHibernate継承ベースクラス
- 18. 流暢なnhibernateに参加する
- 19. 流暢なマッピングとSyscache2の第2レベルキャッシングを使用するNHibernate
- 20. 流暢NHibernateのマッピングヘルプ
- 21. 流暢NHibernateは:マッピング
- 22. 流暢Nhibernate Nunitテストエラー
- 23. 流暢NHibernateはAutomaping
- 24. 流暢NhibernateマッピングhasMany
- 25. 流暢NHibernateは - プロパティ
- 26. (流暢)NHibernateは - クエリ
- 27. 流暢NHibernateとlog4net
- 28. 流暢NHibernateのマッピング
- 29. 流暢なNhibernateコンポーネントの使い方
- 30. 流暢NHibernateキャッシュを無効にする
HTH、どんなにセッションがアクティブなときは、子オブジェクトにアクセスする場合は、遅延ロードについてNHibernateのを言うこと、それ意志怠惰な負荷の子オブジェクト。セッションがアクティブでない間にアクセスすると、例外が発生して失敗します... – sinelaw
他の方法はありますか?少なくとも私の子オブジェクトのnullリストを取得することができますか? –
NHinbernateでは、accessというパラメータが1対多の関係の「片側」に設定され、クラスから子プロパティが削除されます。 – Filip