transfORM
1.0.0
Mini Orm สำหรับ Delphi
ห้องสมุดเป็นการทดลองกับ RTTI และทั่วไปเพื่อให้ได้ข้อมูลที่ง่ายและมุ่งเน้นไปที่ข้อมูลจากฐานข้อมูลเชิงสัมพันธ์
var
ORM : TransfORM;
begin
ORM := TransfORM.Create();
ขั้นตอนที่สองคือการกำหนดอินเทอร์เฟซตามสูตร:
I[TableName] = interface(ItransfORMEntity)
function [ColumnNameA] : TransfORMField;
function [ColumnNameB] : TransfORMField;
function [ColumnNameC] : TransfORMField;
[...]
end;
... โดยที่ tablename เป็นชื่อของตารางในฐานข้อมูลและคอลัมน์คอลัมน์คอลัมน์ชื่อ ฯลฯ เป็นชื่อของคอลัมน์ที่คุณต้องการเข้าถึงในอินเทอร์เฟซที่กำหนด (ไม่จำเป็นต้องเป็นทั้งหมด)
ขั้นตอนสุดท้ายคือการรับอินเทอร์เฟซที่มีข้อมูลของแถวเฉพาะจากตาราง ในการทำเช่นนี้เราเรียกวิธีการ 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