Patrick,
1. Your posts are always interesting.
2. One thing you might consider is creating a Use Case Controller object. This is a normal root level BO which contains the other BOs you are discussing.
When you Create a New controller BO you might pass it the rootID and then it instantiates all the other BOs as normal.
The advantage you now have is that the controller has access to all the Bos in side of it and can enforce rules and such.
In this case you can also call DataPortal_Update on the controller BO and then you can decide within its Update method how to do the save of your objects.
Since the standard Save of your root BO fails you can now step back and do something different.
e.g. Loop over a child collection and insert all new nodes first, then insert Edges.
Joe
Thank youJoeFallon1:1. Your posts are always interesting.
Yes very good idea.
Here are some more threads on the topic
Copyright (c) Marimer LLC