Hello.
I have entity with ManyValuesAssociation field like this:
[Entity, Table('measurement', 'hr_lib')]
[PrimaryJoinColumn('ID')]
TMeasurement = class(TBase)
private
[ManyValuedAssociation([TAssociationProp.Lazy, TAssociationProp.Required], CascadeTypeAll, 'FMeasurement')]
FParams: Proxy<TList<TMeasurementParam>>;
...
TMeasurementParam declared as this:
[Entity, Table('measurement_param', 'hr_lib')]
[Sequence('HR_LIB.MEASUREMENT_PARAM_SEQ')]
[Id('FID', TIdGenerator.IdentityOrSequence)]
TMeasurementParam = class
private
[Column('ID', [TColumnProp.Required])]
FID: double;
[Association([TAssociationProp.Lazy, TAssociationProp.Required], [])]
[JoinColumn('MEASUREMENT_ID', [TColumnProp.Required, TColumnProp.NoUpdate], 'ID')]
FMeasurement: Proxy<TMeasurement>;
[Association([TAssociationProp.Lazy, TAssociationProp.Required], [])]
[JoinColumn('PARAM_ID', [TColumnProp.Required], 'ID')]
FParam: Proxy<TInvParam>;
In UI user can delete some TMeasurementParam object from TMeasurement.Params. In UI I don't call Manager.Remove, because user can press Cancel and don't commit changes.
Then user press OK, I try to execute Manager.Flush to save changes, but get exception - Aurelius try to update field TMeasurementParam.FMeasurement to nil, and execute Update in DB, but this field not null only. Then I delete object from list, I want to automaticaly delete entity from DB.
Is it possible? How? Or I always need additional flag like IsDeleted in TMeasurementParam, and call Manager.Remove(MeasurementParam) before call Manager.Flush?
Thanks.