NHibernateを使用してマッピングしている従来のデータベースがあります。問題のオブジェクトは、AccountとNotificationオブジェクトのリストです。私は私がセレクトN + 1ケースを取得しています、このようなproperty-refを使用してキー以外のフィールドにマッピングするとき、多対一関係でレイジーロードが機能しない
return session.CreateCriteria(typeof(Notification)).List<Notification>();
などの基準を作成するときに、しかし
<class name="Account" table="Account" dynamic-update="true">
<id name="Id" column="AccountID">
<generator class="native" />
</id>
<property name="AccountNumber" length="15" not-null="true" />
<!-- other properties -->
</class>
<class name="Notification" table="Notification">
<id name="Id" column="Id">
<generator class="native" />
</id>
<!-- other properties -->
<many-to-one name="Account" class="Account" property-ref="AccountNumber" lazy="proxy">
<column name="AcctNum" />
</many-to-one>
:マッピングファイルがどのように見える
public class Notification
{
public virtual int Id { get; set; }
public virtual DateTime BatchDate { get; set; }
/* other properties */
public virtual Account Account { get; set; }
}
public class Account
{
public virtual int Id { get; set; }
public virtual string AccountNumber { get; set; }
/* other properties */
}
:オブジェクトは、次のようになりアカウントが決して参照されなくても、各アカウントがロードされます。多対1が遅延プロキシとしてマップされていると、すべてのアカウントがロードされるのはなぜですか?
私は同じ問題を取得し、私は多対一のプロパティのREFのは、遅延ロードすることはできませんと言ってsomehwereポストを見て覚えていますか私はソースを見つけることができません。これはNHとありました1.2 – Jafin