Show/Hide Toolbars

TMS Data Modeler Documentation

Navigation: TMS Aurelius Export > Customization Script

Changing Cascade of Many-Valued Association

Scroll Prev Top Next More

This example changes the cascade parameter of many-valued association attribute. It identifies the many-valued association by the name of the generated private field (FEmployeesList) in a specific class (TEmployees):


procedure OnManyValuedAssociationGenerated(Args: TManyValuedAssociationGeneratedArgs);
  case Args.CodeType.Name of
       case Args.Field.Name of  
             TCodeSnippetExpression(Args.AssociationAttr.Arguments[1].Value).Value := 'CascadeTypeAllRemoveOrphan';


Suppose the original generated source code was this one:


    [ManyValuedAssociation([TAssociationProp.Lazy], [TCascadeType.SaveUpdate, TCascadeType.Merge], 'FReportsTo')]
    FEmployeesList: Proxy<TList<TEmployees>>;


With the script above, it will become this:


    [ManyValuedAssociation([TAssociationProp.Lazy], CascadeTypeAllRemoveOrphan, 'FReportsTo')]
    FEmployeesList: Proxy<TList<TEmployees>>;