Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/danieleteti/delphi-orm
DORM, the "Delphi ORM"
https://github.com/danieleteti/delphi-orm
Last synced: 13 days ago
JSON representation
DORM, the "Delphi ORM"
- Host: GitHub
- URL: https://github.com/danieleteti/delphi-orm
- Owner: danieleteti
- Created: 2015-05-28T13:35:36.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2022-03-05T17:11:15.000Z (over 2 years ago)
- Last Synced: 2024-04-21T09:52:32.054Z (7 months ago)
- Language: Pascal
- Homepage:
- Size: 43.4 MB
- Stars: 170
- Watchers: 43
- Forks: 64
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
#DORM, the "Delphi ORM"
Delphi ORM (DORM for short) is a powerful ORM for Delphi. It is quite robust and tested because used since 2010 in production for many business critical systems.##Features
* Open Source Apache License 2.0
* Database agnostic (Do not require database changes!)
* Has one, has many and belongs to relations support
* Mapping through file, attributes or CoC
* Save and retrieve objects graph, not only single objects
* External (file) or internal (resource, json stream) configuration
* Interfaces based!
* Supports for
* FirebirdSQL (using UIB, ZeosDBO)
* Interbase (using UIB)
* SQLServer (using FireDAC driver)
* SQLite3 (using this SQLite3 wrapper)
* Event based validation (OnBeforeInsert, ObAfterInsert, OnBeforeUpdate, OnAfterUpdate and so on)
* Persistence ignorance
* Object Versioning
* Object Tracking
* Can persists everythig!
* Used for years in big (hundred of tables with complex logic) 3tier systems and in many other smaller systems
* Very good performances
* Completely Unit tested
* Multiple environments
* Development
* Test
* Production
* Lazy Load for related objects
* Rudimental support for null (currently only in the FIREBIRD and in the MSSQLServer persistence adapter)
* Fluent interfaces for queries
* Unit Of Work for multiple operations
* Use anon methods and generics
* Tested on Delphi 10Seattle, XE8, XE7, XE6, XE5, XE4, XE3 and XE2 (Win32)Little introduction to dorm is available [here as PDF](https://github.com/danieleteti/delphi-orm/blob/master/docs/Introduction%20to%20DORM.pdf).
To understand how dorm works, please check the `HelloWorldSamples.groupproj` project group into the folder `Samples/`.