In DObject O/R Mapping persistence layer, in order to improve the performance, all relation objects include parent objects and sub object-sets are dealt with in the way of lazy-load as follows:
l Relation parent object's lazy-load is as follows:
|
var order : IOrder; customer : ICustomer; begin order := TOrder.GetByOrderID(ObjectManager, _orderId); // ... // order.Customer has not been loaded // ... customer := order.Customer; // order.Customer is loaded now end; |
l Relation sub object-set's lazy-load is as follows:
|
var order : IOrder; details : IObjectSet; detail : IOrderDetail; i : integer; begin order := TOrder.GetByOrderID(ObjectManager, _orderId); // ... // order.OrderDetails has not been loaded // ... details := order.OrderDetails; //
order.OrderDetails is loaded now for I := 0 to details.Count - 1 do begin detail := details[i] as TOrderDetail; // ... end; end; |
Related Topics