Tôi có một hệ thống phân cấp của các đối tượng, theo thứ tự, liên hệ, Địa chỉ:NHibernate Háo hức tải đa cấp đối tượng trẻ em
public class Order {
public virtual Contact BillingContact { get; set; }
}
public class Contact {
public virtual Address Address { get; set; }
}
tôi muốn truy vấn một trật tự bởi id, và tải háo hức các billingcontact, cùng với đó là địa chỉ .
var criteria = DetachedCriteria.For<Order>()
.SetFetchMode("BillingContact", FetchMode.Eager)
Tiêu chí này háo hức tải BillingContact, nhưng dễ hiểu không phải địa chỉ của BillingContact. Nếu tôi thêm:
.SetFetchMode("BillingContact.Address", FetchMode.Eager)
Điều này không có gì để trợ giúp.
Cũng lưu ý rằng các mối quan hệ là một chiều:
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);
}
Làm thế nào tôi có thể xây dựng một đối tượng tiêu chí đó sẽ được tải các con của con? Các ánh xạ mối quan hệ này có đúng không?
Đã được câu trả lời cung cấp dưới đây có đúng không? Nếu có, vui lòng chọn nó như vậy. – DaveDev
Vâng, giải pháp ở đây là gì? – Jacko