We use LLBLGen 3.5 to retrieve data for presentations in datagrid (parent - childs grids). Because of complexity and the philisophy to store as much as code in the database, we call stored procedures to manipulate the data.
Manipulating the data means:
- some entities are removed
- new entities are created
- entities have new values
Real example of the entity where we talk about is een collection of CableRoutingTrackRoutesEntity:
prefetchPath = New PrefetchPath2(CInt(EntityType.CableRoutingTrackRoutesEntity))
prefetchPath.Add(CableRoutingTrackRoutesEntity.PrefetchPathCableRoutingGraphEdges)
prefetchPath.Add(CableRoutingTrackRoutesEntity.PrefetchPathCableRoutingGraphNodesCollectionViaCableRoutingGraphEdges)
As you can see there are two prefetch collections within entity
CableRoutingTrackRoutes called: CableRoutingGraphEdges and CableRoutingGraphNodesCollectionViaCableRoutingGraphEdges.
Questions:
- Is a LLBLGen design goal to handle this kind of problems (synchronising data);
- With help of a context the newly created entities are added with a (re)fetch, but the deleted ones are still in the collection. How to deal with this?
- Changed entities are not updated (synchronised), is there a solution for this;
- Before (re)fetch of the entity CableRoutingTrackRoutes we try deleted both prefetched entities, but the ...CollectionVia... could not been cleared, because it is read-only.
Biggest question: How should we use LLBLGen, are we asking to much from this tool (related to the synchonisation issue)?