0

全て、

1

確認してください。ただし、少なくともコレクションを取得するためのデフォルト設定は、Lazy = false (NHibernate とは反対です) であることがわかりました。つまり、HasMany() 属性で Lazy を指定しない場合、コレクションはすぐに取得されます。

2

別の質問: Customer エンティティ BelongsTo(Lazy = FetchWhen.OnInvoke) を参照する Order エンティティで指定しましたが、その設定は受け入れられません。注文を受け取ると、顧客が熱心にフェッチされます。何が起こっているのですか?返品されたすべての注文に対して顧客が熱心にフェッチされるのはなぜですか? いじくり回した後、Customer エンティティ自体 (ActiveRecord(Lazy = true)) に lazy を追加すると、BelongsTo() の Lazy 設定が期待どおりに機能します。したがって、BelongsTo(Lazy = FetchWhen.OnInvoke) は、参照されるエンティティが (ActiveRecord(Lazy = true)) を介して明示的に遅延読み込みを有効にしている場合にのみ受け入れられるように見えます。

3

キャッスル アクティブ レコード構成ファイルで、すべてのエンティティに対して Lazy = true のグローバル設定を設定する方法はありますか?

4

1 に答える 1

0

@1 確認済み

@2私の記憶が正しければ、 [BelongsTo(..., Lazy = FetchWhen.OnInvoke, Fetch = FetchEnum.Select)] を設定する必要があり、[ActiveRecord(..., Lazy = true)] も必要に応じてロードする必要があります.

ご挨拶ジュイジュカ

于 2012-08-14T03:03:35.487 に答える