私はFluent NHibernateを学びます(そして、一般的にNHibernateを拡張しています)。私はいくつかのオーバーライドで自動マッピングを使用していますが、私はそれが重要であるとは思わない(もちろん、私がここで間違っているなら私は喜んで質問を更新するでしょう)。NHibernateがプロキシオブジェクトを返さない場合がありますか?
考えるISession
私は自分のIDでエンティティを返すことができます(といくつかのより多くの変数を仮定):
using (var session = SessionFactory.OpenSession())
{
var user = session.Get<User>(userId);
}
私の限られた理解では、NHibernateのは、User
マッピングされたエンティティの周りのプロキシを作成していること、まだ私はそれをテストするときでした(based on this):私のインスタンスは、プロキシではないかのよう
Assert.That(user is INHibernateProxy, "Not a proxy.");
それが表示されます。
プロキシを使用しない場合がありますか?私は「欠けている部分」を望んでおり、これが金曜日の午後の脳の失敗ではないと祈っています。
ああ、欠けている部分は、ここではルートオブジェクトで、非レイジーオブジェクトは物理オブジェクトです。また、プロキシは遅延ロードをサポートするためにのみ使用されますか? –
はい、私はプロキシが遅延読み込み専用であると思います。 – NOtherDev
その記事は役に立ちます。明らかにしてくれてありがとう、私は今からタイプが常にプロキシであるとは思わないでしょう。 –