Blog Options
Archive
<< July 2026 >>-
Thursday 16
- Introducing TMS.NET Maps closed beta: FNC Maps Comes to .NET -
Wednesday 15
- Let your AI work seamlessly with your database data via a Delphi MCP server -
Friday 10
- A New Home for TMS Documentation -
Thursday 9
- Filtering in Delphi: Visual Filter Building -
Friday 3
- TMS FNC Family Updated with a New Install Experience -
Thursday 2
- TMS FNC UI Pack 7.2 -
Wednesday 1
- TMS FNC Core to help to make the free QR and Barcode generation component cross-framework and cross-platform
- Filtering in Delphi: See the Filter Dialog in Action
- TMS BIZ July 2026: External Logins, Custom Password Hashing, and More
- Login with Google, Microsoft and More: Identity Brokering in TMS Sphinx
Authors
- Bernard Roussely (3)
- Wagner Landgraf (103)
- Dennis Röhner (1)
- Roman Yankovsky (2)
- Bart Holvoet (45)
- Aaron Decramer (85)
- Pieter Scheldeman (141)
- Nancy Lescouhier (32)
- Adrian Gallero (35)
- Bruno Fierens (460)
- Marcos Douglas B. Santos (5)
- Bernard (4)
- Bradley Velghe (38)
- Andrew Simard (86)
- Holger Flick (15)
- Gjalt Vanhouwaert (48)
- Tunde Keller (38)
- Masiha Zemarai (117)
Blog
All Blog Posts | Next Post | Previous Post
My Top 10 Aurelius Features - #4 Aurelius Dataset
Thursday, February 9, 2017
I consider Aurelius Dataset (TAureliusDataset) a hidden gem of TMS Aurelius. Well, not exactly "hidden" because it's a significant part of it to deserve its own chapter in the Aurelius documentation, but in the sense that it's different from the normal ORM "core" which is update, insert, delete, select, query, etc.. And for that it's #4 of My Top 10 Aurelius Features.The first misunderstanding about the TAureliusDataset is confusing its usage with the regular way we use Delphi datasets. I've been in discussions in forums with people that were blaming the usage of dataset, because it's not "good practice", because logic should be in the controller/model, etc., etc..
The point is Aurelius Dataset is for data binding. It's not about retrieving data. You will retrieve data the same way with or without the dataset. Your logic, controller and model will still be isolated. But when it comes to show or edit data of an entity in a visual form, you don't have to manually do things like this:
edCustomerName.Text := Customer.Name; edCustomerCity.Text := Customer.City;
Grid.Clear; for Customer in Customers do begin CurrentRow := Grid.AddRow; Grid.Columns[0, CurrentRow] := Customer.Name; Grid.Columns[1, CurrentRow] := Customer.City; end;
AureliusDataset1.SetSourceList(MyCustomerList);
AureliusDataset1.SetSourceObject(MyCustomer);
The coolest thing about the Aurelius Dataset is that its minor features and high integration with Aurelius. It's not just a generic binder between Delphi objects and controls. But it handles smoothly a lot of specific Aurelius features like:
Nullable types
Associations and its sub-properties
Master-Detail (many-valued association as nested datasets)
Enumerated types
and provide the regular dataset mechanisms but adapted to the object-oriented approach, like:
Lookup fields
Calculated fields
Design-time support
And finally, it handles paging and fetching smoothly as well. You can have a criteria that is retrieved page by page on demand, avoiding all objects to be retrieved at once, and at the same time avoiding a cursor to be open to the database!
Watch the video above to see Aurelius Dataset in action, and if you want to get notified about upcoming videos, subscribe to our YouTube channel!
Wagner Landgraf
This blog post has not received any comments yet.
All Blog Posts | Next Post | Previous Post