Я использую nhibernate2.1 как часть spring.net 1.3.У меня есть следующее объявление как часть моего отображения.Насколько я понимаю, этот объект не должен загружаться, если не вызывается геттер.У меня есть точка останова, установленная на сеттере, а также выгрузка всех операторов SQL nhibernate в регистратор.В ходе моего тестирования я фактически создал совершенно новый дочерний объект и совершенно новое свойство для моего исходного объекта (отсюда и «2» в именах), поэтому я уверен, что свойство нигде не доступно.Несмотря на это, как только мой родительский объект загружается, я могу убедиться, что это свойство загружено.Итак ... что мне здесь не хватает?
<set name="UserCustomer2" lazy="true">
<key column="[FK_USERS]" />
<one-to-many class="UserCustomer2" />
</set>
@ A: вот мое свойство:
private ICollection<UserCustomer2> _UserCustomer2 = new HashSet<UserCustomer2>();
public virtual ICollection<UserCustomer2> UserCustomer2
{
get { return _UserCustomer2; }
set { this._UserCustomer2 = value; }
}
и вот как я запрашиваю родительский объект:
IQuery query = dao.GetQuery("FROM UserImpl u WHERE u.UserName = :username AND u.Password = :password");
query.SetParameter("username", username);
query.SetParameter("password", password);
IList users = query.List();