ich eine Hierarchie von Objekten haben, Ordnung, Kontakt, Adresse:NHibernate Eager Laden Multi-Level-Kind-Objekte
public class Order {
public virtual Contact BillingContact { get; set; }
}
public class Contact {
public virtual Address Address { get; set; }
}
Ich möchte eine Bestellung von ID abfragen, und eifrig Last die billingcontact, zusammen mit ihrer Adresse .
Dieses Kriterium eifrig lädt den BillingContact, aber verständlicherweise nicht die Adresse des BillingContact. Wenn ich füge hinzu:
.SetFetchMode("BillingContact.Address", FetchMode.Eager)
Dies hilft nichts.
Beachten Sie auch, dass diese Beziehungen unidirektional sind:
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);
}
Wie kann ich ein Kriterien-Objekt konstruieren, die das Kind des Kindes laden wird? Sind diese Beziehungszuordnungen korrekt?
war die Antwort unten korrekt geliefert? Wenn ja, wählen Sie es bitte als solches aus. – DaveDev
Ja, was war die Lösung hier? – Jacko