Что-то вроде:

я есть иерархия объектов, Порядок, Контакт, Адрес:

public class Order {
     public virtual Contact BillingContact { get; set; }
}

public class Contact {
     public virtual Address Address { get; set; }
}

Я хочу запросить заказ по идентификатору и хочу загрузить биллинг-контакт вместе с его адресом.

var criteria = DetachedCriteria.For<Order>()
     .SetFetchMode("BillingContact", FetchMode.Eager)

Этот критерий активно загружает BillingContact, но, разумеется, не адрес BillingContact. Если я добавлю:

     .SetFetchMode("BillingContact.Address", FetchMode.Eager)

Это не поможет.

Также обратите внимание, что эти отношения являются однонаправленными:

public OrderMap()
{
    References(x => x.BillingContact)
        .Not.Nullable()
        .Cascade.All();
}

public ContactMap()
{
    HasOne(x => x.Address)
        .Cascade.All()
        .FetchType.Join();
}

public AddressMap()
{
    Map(x => x.Address1);
} 

Как я могу построить объект критерия, который будет загружать дочерний элемент дочернего элемента? Эти сопоставления отношений кажутся правильными?

Ответы на вопрос(1)

Ваш ответ на вопрос