transfORM
1.0.0
Mini orm لدلفي
المكتبة هي تجربة مع RTTI و Generics للحصول على وصول بسيط موجه نحو الكائن إلى البيانات من قاعدة بيانات علائقية.
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