DORM, ORM Delphi là khung ORM mã nguồn mở mới cho Delphi có thể sử dụng được từ DelphiXE + (nó cũng hoạt động trên D2010 nhưng chưa được thử nghiệm trên phiên bản đó). Nó hỗ trợ (và sử dụng) tất cả các tính năng RTTI mới. Cho phép tệp, thuộc tính và ánh xạ quy ước trên cấu hình. Có những hệ thống sản xuất lớn dựa trên nó. Nó sẽ được tích hợp trong Delphi Spring Framework kể từ lần phát hành chính tiếp theo. Nó được phát triển bởi một cộng đồng quốc tế nhỏ (6 người). http://code.google.com/p/delphi-orm/
Để hiển thị một số tính năng cơ bản, đây là thực tế không được sử dụng thực sự.
procedure TTestDORM.TestCRUD;
var
p1: TPerson;
p1asstring: string;
id: integer;
begin
p1 := TPerson.NewPerson;
try
Session.Save(p1);
p1asstring := p1.ToString;
id := p1.id;
Session.Commit;
finally
p1.Free;
end;
Session.StartTransaction;
p1 := Session.Load<TPerson>(id);
try
CheckEquals(p1asstring, p1.ToString);
Session.Commit;
finally
p1.Free;
end;
Session.StartTransaction;
p1 := Session.Load<TPerson>(id);
try
p1.FirstName := 'Scott';
p1.LastName := 'Summer';
p1.Age := 45;
p1.BornDate := EncodeDate(1965, 1, 1);
Session.Update(p1);
p1asstring := p1.ToString;
Session.Commit;
finally
p1.Free;
end;
Session.StartTransaction;
p1 := Session.Load<TPerson>(id);
try
CheckEquals(p1asstring, p1.ToString);
Session.Delete(p1);
Session.Commit;
finally
p1.Free;
end;
Session.StartTransaction;
p1 := Session.Load<TPerson>(id);
try
CheckNull(p1);
Session.Commit;
finally
p1.Free;
end;
end;
P.S.Tôi là tác giả chính và chủ yếu của ký túc xá
Nguồn
2012-02-17 15:25:56
Tôi hiện nghĩ rằng nó không phải là đáng giá cho một nhà cung cấp độc quyền nhắm mục tiêu D2010 –
@Marco: Delphi 2010 giới thiệu mở rộng RTTI mà là cần thiết để tuần tự hóa/deserialize tất cả các lĩnh vực đối tượng (bao gồm cả tư nhân và bảo vệ), và thuộc tính đó là một cách rất mạnh mẽ để thêm siêu dữ liệu cho các định nghĩa lớp học – mjn
tôi bỏ phiếu để đóng câu hỏi này như là một chủ đề câu hỏi. –