2017-05-19 12 views
1

遅延読み込みとプロキシを無効にすると、関連付けは明示的にインクルードするまでロードされません。NHibernate Eager Loading

NHibernateで同じ動作をどうやって得ることができますか?

は私が怠惰な設定しようとしました=エンティティフレームワークの全く逆の動作があるファイルの関連付けがロードされているマッピングの設定でfalseが

<set name="associations" table="parentChild" lazy="false"> 
...... 
</set> 

に思え

答えて

1

行動のようなエンティティフレームワークを取得する方法はありますlazy=no-proxyオプションをお探しの場合は、達成したいことに最も近い結果が得られます。

(Hibernateのドキュメントから、まだNHibernateのに適用されます)

lazy (optional - defaults to proxy): by default, single point associations are proxied. lazy="no-proxy" specifies that the property should be fetched lazily when the instance variable is first accessed. It requires build-time bytecode instrumentation. lazy="false" specifies that the association will always be eagerly fetched.

+0

XML検証エラー: 'lazy'属性が無効です –

0

あなたの目的は、Hazzik answerを参照して、プロキシされるようにこれらのプロパティを避けるためである場合。これにより、代わりに保持エンティティがプロキシされます。

NHibernateはロードされずにこれらのプロパティにアクセスできるようにするために、(実際のデータに合わせて間違って)nullにすると、NHibernateはこれに対応する機能を提供しません。これらのプロパティーをマッピングします(もちろん、どちらかといえば負荷がかかりません)。

これが後であれば、なぜこれが必要ですか?たぶんあなたはそれを望んでいる原因とそれを解決する方法(それがないかもしれない)について別の質問をするべきでしょうか。

関連する問題