BIZ

TMS Aurelius

ORM framework for Delphi with full support for data manipulation, complex and advanced queries, inheritance, polymorphism, and more...


Feature overview

Benefits

Aurelius brings all benefits an application can obtain from using an ORM framework:
  • Productivity: Avoid complex SQL statements that can only be verified at runtime. Code directly with objects.
    It's basically something that prevents you from writing code like this:
    Query1.Sql.Text := 'SELECT I.ID AS INVOICE_ID, I.INVOICE_TYPE, I.INVOICE_NO, I.ISSUE_DATE, I.PRINT_DATE, ' +
      'C.ID AS CUSTOMER_ID, C.CUSTOMER_NAME, C.SEX, C.BIRTHDAY, N.ID AS COUNTRY_ID, N.COUNTRY_NAME' +
      'FROM INVOICE AS I INNER JOIN CUSTOMER AS C ON (C.ID = I.CUSTOMER_ID) ' +
      'LEFT JOIN COUNTRY AS N ON (N.ID = C.COUNTRY_ID)' +
      'WHERE I.ID = :INVOICE_ID;'
    Query1.ParamByName('INVOICE_ID').AsInteger := 1;
    Query1.Open;
    ShowMessage(Format('Invoice No: %d, Customer: %s, Country: %s',
      [Query1.FieldByName('INVOICE_NO').AsInteger,
      Query1.FieldByName('CUSTOMER_NAME').AsString,
      Query1.FieldByName('COUNTRY_NAME').AsString])); 
    and instead write this:
    Invoice := Manager1.Find<TInvoice>(1);
    ShowMessage(Format('Invoice No: %d, Customer: %s, Country: %s',
      [Invoice.InvoiceNo, Invoice.Customer.Name, Invoice.Customer.Country.Name]));
  • Maintainability: Clearer business logic by dealing with objects, hiding all the database-access layer.
  • Portability: Easily change the underlying database - all your business code stays the same since they are just pure objects.

Feature details

  • Several database servers supported (MS SQL Server, Firebird, MySQL, DB2, Interbase, Oracle,...)
  • Several database-access components supported (dbExpress, AnyDac, SQLDirect, ADO, IBX,...)
  • Multi-platform solution - Win32, Win64, macOS, VCL, FireMonkey
  • Saving, updating and loading of entity objects in an object-oriented way
  • TAureliusDataSet for easy and fast interfacing to DB-aware controls in VCL
  • Multi-model design to allow different mapping models in a single application
  • Queries - Powerful query API using criteria expressions, projections, grouping, conditions and even logical operators in a LINQ-like approach
  • Inheritance mapping and polymorphism - map a full class hierarchy into the database
  • Cross-database development - use a single Delphi code to target multiple databases in a transparent way
  • Choose from classes-to-database approach (creating the database structure from classes) or database-to-classes approach (creating classes source code from database, using TMS Data Modeler )
  • Mapping directly in classes using custom attributes
  • Association mapping
  • Lifetime management of objects using object manager
  • Cached and identity-mapped objects
  • Automatic database structure generation
  • Nullable types support
  • Lazy loading for associations and blob fields
  • Allows logging of SQL commands
  • Allows mapping enumerated types to database values
  • Open architecture - easy extendable to use different component sets or database servers

Screenshots

Supported databases



  • Firebird
  • Interbase
  • Microsoft SQL Server
  • MySQL
  • NexusDB
  • Oracle
  • SQLite
  • PostgreSQL
  • DB2
  • ElevateDB server
  • Absolute Database

Supported platforms

  • Windows 32-Bit
  • Windows 64-Bit
  • macOS
  • iOS
  • Android
  • Linux

Supported Data-Access components

  • dbExpress
  • dbGo (ADO)
  • FIBPlus
  • Interbase Express (IBX)
  • SQLite - Native Support
  • AnyDac
  • NexusDB
  • SQL-Direct
  • IBObjects
  • ElevateDB
  • UniDac
  • UIB
  • Direct Oracle Access
  • FireDac
  • ZeosLib

Videos

TMS Aurelius Free Edition, an overview - by Wagner Landgraf



Top 10 Aurelius Features - by Wagner Landgraf
A personal list of favorite features of Wagner Landgraf, the TMS Business product manager.

Pricing

Single Developer License Small Team License Site License
 

TMS Aurelius


€ 190

60 yearly renewal
license for 1 developer


Includes
check  Full source code
check  Access to the TMS Support Center
check  Free updates and new releases
MOST POPULAR

TMS BIZ Premium


€ 595

180 yearly renewal
license for 1 developer


Includes
check  Full source code
check  Access to the TMS Support Center
check  Free updates and new releases
check  TMS Aurelius
check  All TMS BIZ products
more_horiz  Discover more
BEST VALUE

TMS ALL-ACCESS


€ 1,795

575 yearly renewal
license for 1 developer


Includes
check  Full source code
check  Access to the TMS Support Center
check  Free updates and new releases
check  TMS Aurelius
check  All TMS BIZ products
check  All TMS products
more_horiz  Discover more
All prices excl. VAT. Renewal price is subject to change and only valid up to 30 days after license has expired. After renewal period a discount price is offered to renew the license.

TMS ALL-ACCESS

key
Your unlimited access to all TMS products
local_offer
One money and time saving bundle

Free Trial

Start a free TMS Aurelius evaluation today!
RAD Studio

What our customers say

I am very happy to use TMS Aurelius with Delphi 10.4, I did not expect a quick launch like this. I am also enjoying the new BatchSize feature, which is much faster than the normal mode.

- Leandro

From what I've seen so far, I think this is going to revolutionize my app development - can't wait to start playing with the features now!

- Dave White

It's now very easy to build a report with the new Flexcel + Aurelius integration. It was so easy that I really thought I was doing something wrong. I will never go back to a report generator, Flexcel is way cooler and easier for reports.

- Eduardo Elias

TMS Aurelius makes my code to be very clean. I can code in pure OOP, not worrying about database persistence or SQL statements, being able to switch connections and database servers very easily. My development speed has increased significantly.

- Carlos Fitl

Wagner, I must congratulate with you: I really enjoy reading and watching your posts and videos about TMS Aurelius. First, I appreciate them because they are very specific and up to the point. Second, as a TMS Aurelius user, the more of your post I read, the more I am confident about the choice I have made between TMS Aurelius and "The Others". I love the simplicity of TMS Aurelius: this is the very distinctive trait of it: If you know how to deal with Plain Old Simple Object in Delphi, then you know 80% of TMS Aurelius. And your posts about it, are something I always find very interesting. Thank you so much.

- Fabio Vitale

TMS WEB Core

language
Create modern web apps in Delphi & VSC
build_circle
Use Object Pascal code to build JavaScript apps