Why is this ever needed? BusinessListBase know to mark their items a Children. There appears to be some confusion how to implement Child_Fetch. In the documentation some times it is passed a search criteria and some time it is passed a data transfer object. I do not see an example of implement Child_Fetch with a data factory implementation. Why not just call DataPortal.BeginFetch? Why write a readonly object to call DataPortal.FetchChild on the server?
This also depends on how your application is configured.
BeginFetch may send the criteria over wire to another computer (N-tier) while ChildFetch will always run in-process.
If by data factory implemententation - you mean ObjectFactory implemententation, then you would/should never use DataPortal.FetchChild but rather call the corresponding ObjectFactory class to get the object.
A read-only object may be used as UnitOfWork (UoW) loader) - to load all the lists and objects required for a form. This is in particular nice for async loading of data and lists for a single screen - rather than have a number of async data portal calls and make sure to handle callbacks in the proper sequence (ex: databind all list for combobox'es befor databinding the actual BO).
Copyright (c) Marimer LLC