Camada de persistência em Delphi

Delphi

02/07/2016

Olá amigos,

Estou tentando desenvolver uma camada de persistência em Delphi, até ai tudo bem, no entanto, estou usando a nossa famosa e linda RTTI para checar as propriedades e os metadados de cada classe, e estou construindo todo o CRUD da minha camada, até agora sem problemas nenhum.

Agora o meu problema.

Gostaria de realizar o Insert e o Update somente dos campos que realmente foram alterados ou inseridos pelo usuário e estou tendo muita dificuldade de encontrar uma forma via RTTI de enxergar somente os campos alterados ou inseridos, por isso que vim até aqui para alguém me dar uma luz de como criar desta forma.

Utilizo Ferramenta: Delphi XE7

Apenas uma obs: Na minha classe de entidade Login uso o conceito de TCustomAttibute.

Obrigado
Rafael Ribeiro

Rafael Ribeiro

Curtidas 0

Melhor post

Arthur Jardim

Arthur Jardim

03/07/2016

Olá Rafael, não conheço nenhuma ferramenta que te ajudaria fazer essa verificação de quais campos foram alterados,
Talvez se você fizer uma consulta e comparar os campos, porem vai gerar um trabalho gigantesco.
A algum tempo desenvolvi a persistência de um sistema também em Delphi XE7 consegui uma performance muito boa, sendo que eu tinha uma função salvar uma tupla sem verificar quais campos foram alterados, e outra função eu recebia uma lista e gerava todos os inserts para serem executados ao mesmo tempo.
Uma coisa que ajuda na performance também é usar Interface junto com classes abstratas no lugar de RTTI.
GOSTEI 1
POSTAR