Я получаю это исключение, когда пытаюсь получить доступ к объекту, который хранится в свойстве объекта моего домена. Я провел небольшое исследование и до сих пор не понимаю, почему я получаю эту ошибку.
У меня есть очень простой репозиторий, в котором я создаю сеанс, а затем использую запрос 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 и поэтому лениво загружал этот объект по запросу. Может ли кто-нибудь сказать мне, где меня сбили с пути?
Спасибо!