NHibernate - Многие к одному - NHibernate. LazyInitializationException - не удалось инициализировать прокси

Я получаю это исключение, когда пытаюсь получить доступ к объекту, который хранится в свойстве объекта моего домена. Я провел небольшое исследование и до сих пор не понимаю, почему я получаю эту ошибку.

У меня есть очень простой репозиторий, в котором я создаю сеанс, а затем использую запрос ICriteria для извлечения первой записи из списка результатов. Объект домена My Connection имеет отношение "один ко многим", сопоставленное серверу. Почему сеанс не включает сервер в качестве прокси-сервера при получении объекта Connection? Я не очень знаком с управлением сеансами с NHibernate.

Вот моя реализация:

Объект домена:

public class Connection {

public virtual int Id { get; private set; }


public virtual string FullName { get; set; }


public virtual string Email { get; set; }


public virtual string NickName { get; set; }


public virtual string Alternative { get; set; }


public virtual bool IsInvisible { get; set; }


public virtual Server CurrentServer { get; set; }

}

  public Connection GetConnection()
    {
        using (ISession session = NHibernateHelper.OpenSession())
        {
            ICriteria crit = session.CreateCriteria(typeof(Connection));
            crit.SetMaxResults(1);
            IList<Connection> connection = crit.List<Connection>();
            return connection[0];

        }
    }

Вышеупомянутый пример успешно вернет объект Connection. Однако доступ к свойству CurrentServer вызывает исключение. Я предполагал / предполагал, что NHibernate знал об отношениях этого объекта с CurrentServer и поэтому лениво загружал этот объект по запросу. Может ли кто-нибудь сказать мне, где меня сбили с пути?

Спасибо!

1
задан Nick 3 October 2010 в 02:24
поделиться