tenho o seguinte objeto mapeado.
type
[Entity]
[DiscriminatorValue('OrdemServico')]
TOrdemServico = class(TOrdemServicoMin)
private
FItensOSProd: TList<TItensOSProd>;
FItensOSServ: TList<TItensOSServ>;
public
[ManyValuedAssociation([], CascadeTypeAll)]
[ForeignJoinColumn('CHAVEOS')]
[Where('{Ativo} = 1')]
property ItensOSProd: TList<TItensOSProd> read FItensOSProd write FItensOSProd;
[ManyValuedAssociation([], CascadeTypeAll)]
[ForeignJoinColumn('CHAVEOS')]
[Where('{Ativo} = 1')]
property ItensOSServ: TList<TItensOSServ> read FItensOSServ write FItensOSServ;
end;
OS:= Manager.Find(TOrdemServico, 14);
OS.ItensOSProd.add(....);
OS.ItensOSServ.add(....);
Adiciono uns itens de ItensOSProd e ItensOSServ a um objeto que ja estava salvo no BD.
Logo em seguida uso o replicate e o flush
ocorre access violation no método flush.
Manager.Replicate(OS);
Manager.Flush(OS);
Qual a melhor forma de mesclar um objeto do BD que possui uma lista de objetos, com novos itens da lista de objetos?