It considers three levels of relationship: a) TbLevelOne
b) TbLevelTwo with TbLevelOne
c) TbLevelThree with TbLevelTwo
It considers three edition forms now:
a) FormTbLevelOne with:
. tbLevelOneBO1
. tbLevelTwoBO1
. childFormDialog1 (FormTbLevelOne.tbLevelTwoBO1 <-> FormTbLevelTwoEditor.tbLevelTwoBO1)
b) FormTbLevelTwoEditor
. tbLevelTwoBO1
. tbLevelThreeBO1
. childFormDialog1 (FormTbLevelTwo.tbLevelThreeBO1 <-> FormTbLevelTheeEditor.tbLevelThreeBO1)
c) FormTbLevelThreeEditor
. tbLevelThreeBO1
It also considers that the relationships between the levels had been filled correctly.
a) TbLevelTwo.ParentRelationship: TbLevelOneBO, (IdLevelOne) <--> (IdLevelOne)
b) TbLevelThree.ParentRelationship: TbLevelTwoBO, (IdLevelTwo) <--> (IdLevelTwo)
The result was (Primary key/foreign key synchronization):
a) FormTbLevelTwoEditor: OK
b) FormTbLevelThreeEditor: Not OK (Primary key of the TbLevelTwo automatically is not created in the TbLevelThree.)
I am annexing a project example, with the database.