- Melhoria - Implementado recurso para atualizar dados da tabela externa com relacionamento OneToOne quando a coluna chave de relacionamento for mudada.
- Melhoria - Otimização no método Open(), para que o SELECT seja construído somente uma vez.
- Melhoria - Refatoração nos métodos Open() e Find(), para aceitarem o parâmetro ASQL como String.
- Melhoria - Renomeado método GetNextPacket para NextPacket.
- Melhoria - Liberado o método NextPacket, para ser chamado pela aplicação, caso a propriedade AutoNextPacket = False;
- Melhoria - Refatoração nos métodos DisableDataSetEvents e EnableDataSetEvents.
- Melhoria - Grande refatoração para aumento de performance, passando a usar mais informações mapeadas do objeto e menos RTTI.
- Correção - Ajuste feito para respeitar a paginação de registros, quando passado um comando SELECT pelo método Open() e Find() direto, não estava sendo feito paginação nenhuma.
- Novo - Atualização do demo que não usa dataset, mostrando como criar um campo Aggregate, direto na class totalizando determinado campo.
- Novo - Criado método FindWhere(AWhere: string), esse método adiciona a clausula WHERE ao final do comando SELECT montado, passando assim um filtro para restringir o retorno de registros do banco de dados em um TObjectList<M>
- Novo - Criado método OpenWhere(AWhere: string), esse método adiciona a clausula WHERE ao final do comando SELECT montado, passando assim um filtro para restringir o retorno de registros do banco de dados em um IDBResultSet.
- Novo - Criado a propriedade AutoNextPacket, para que o método NextPacket possa ser controlado pela aplicação, valor padrão é TRUE;
- Novo - Criado interface ICommandMonitor que irá monitorar todos os comandos executado pelo ORMBr e mostrar em uma tela o que foi executado. Funcionalidade mostrada no demo na pasta ..\ORMBr\Demo\Data\FireDAC.
- Novo - Driver TFactorySQLite para acesso nativo ao SQLite, o driver usa componente de terceiro, as units agora fazem parte do projeto ORMBr e está na pasta ..\ORMBr\Source\External\SQLite, podem ser usadas sem precisar instalar o componente na IDE, basta instânciar o componente direto na aplicação.
Exemplo :
FDatabase := TSQLiteDatabase.Create(Self);
FDatabase.Filename := '..\Database\database.db3';
