transfORM
1.0.0
Delphi的迷你ORM
该库是对RTTI和仿制药的实验,可从关系数据库中获得对数据的简单,面向对象的访问。
var
ORM : TransfORM;
begin
ORM := TransfORM.Create();
第二步是根据公式定义接口:
I[TableName] = interface(ItransfORMEntity)
function [ColumnNameA] : TransfORMField;
function [ColumnNameB] : TransfORMField;
function [ColumnNameC] : TransfORMField;
[...]
end;
...其中tableName是数据库和columnNamea,columnNameB等中表的名称,是您要在给定接口中访问的列的名称(它们不必全部)。
最后一步是从表中获取包含特定行数据的接口实例。为此,我们称为getinstance方法,给出主键的值。
var
Entity : I[TableName];
PKValue : Integer;
begin
PKValue := 100; //primary key value
Entity := ORM.GetInstance<I[TableName], [PKType]>(PKValue, FDConnection);
除了访问表字段外,实体类还从接口中实现方法:
ItransfORMEntity = interface(IInvokable)
function GetConnection(): TFDConnection;
function GetImmediateCommit(): Boolean;
function HasChanges() : Boolean;
function PrimaryKeyField() : TransfORMField;
procedure Commit(aInSubthread : Boolean = False);
procedure SetImmediateCommit(const aValue: Boolean);
property ImmediateCommit: Boolean read GetImmediateCommit write SetImmediateCommit;
property Connection: TFDConnection read GetConnection;
end;
当前限制:
图书馆使用:Spring4D,FireDac