Ленивая загрузка, не работающая на many-one отношения при отображении на свойство использования неполя ключа - касательно

У меня есть унаследованная база данных, что я отображаю использование NHibernate. Объектами беспокойства является Учетная запись и список объектов Уведомления. Объекты похожи:

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 */ 
}

Отображающиеся файлы похожи:

<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>

Однако, когда я создаю критерии такой как

return session.CreateCriteria(typeof(Notification)).List<Notification>();

Я получаю Избранный случай N+1, где каждая учетная запись загружается даже при том, что на Учетную запись никогда не ссылаются. Почему все учетные записи загружают, когда many-one отображается как ленивый прокси?

17
задан SteveBering 3 March 2009 в 00:45
поделиться