PRODUCTS » Quick Links

FEATURED PRODUCT

Create modern-looking & feature-rich applications with over 300 components including award-winning grids, scheduling components, Office 2010/2007/2003 ribbon & toolbars, calendars, application update and much more...

License only 195 EUR See More

LOGIN

Customer login to access products, support information & special benefits.

SEARCH

STAY IN TOUCH

Add your e-mail address here to receive the monthly TMS Software alerts.

 

LINKS

PRODUCTS » DEVELOPER TOOLS » TMS AURELIUS
v1.4 (May 8, 2012)



Purchase a license



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, Mac OS X, 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
  • 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

Supported databases

TMS Aurelius

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

Supported platforms

TMS Aurelius

  • Windows 32-Bit
  • Windows 64-Bit
  • Mac OS X

Supported Data-Access components

  • dbExpress
  • dbGo (ADO)
  • Interbase Express (IBX)
  • SQLite - Native Support
  • AnyDac
  • NexusDB
  • SQL-Direct
  • IBObjects
  • UniDac

Comments

I've played with the trial of Aurelius a bit and I like what I've seen so far (Firebird 2.5 with IBObjects). Especially the way how I can get started with a legacy database is nice. I wouldn't like if Aurelius thinks it needs to be clever when it comes to maintaining the underlaying database for changes due to the technical challenges mentioned above. For sure, Aurelius has potential for being an important part in the Delphi world when writing OO-based database clients.

Thomas Steinmaurer / Firebird Technology Evangelist, via email

Buy online

CreditCards Accepted
TMS Aurelius
for Delphi 2010, XE, XE2
View licensing FAQ
  1. License for commercial use: Single developer license, Small team license, Site license
  2. Includes full source code
  3. Free 2 year updates and new releases
  4. Free priority support through email, newsgroup and forum

€ 195
Single developer license
for 1 developer
order now or add to cart
€ 295
Small team license
for 2 developers
order now or add to cart
€ 695
Site license for unlimited
developers in the company
order now or add to cart


This product is also available in the following bundle(s):

  1. TMS Aurelius - Data Modeler bundle

Copyright © 1995 - 2012 TMS Software v3.4