Camada de persistência em Delphi
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
Curtidas 0
Melhor post
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.
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