EntityDAC Features

Object-Relation Mapping

  • Clearer business logic by dealing with objects, hiding all the database-access layer
  • Full encapsulation of the persistence mechanism. Saving, updating and loading of entities in an object-oriented way
  • Multi-object actions
  • Tool for automatic object model generation on the basis of database schema
  • Mapping of arbitrary “plain old Delphi classes” using attributes
  • Lazy loading of related entity / collection
  • Entity cache provides object identity and maximally improves the performance
  • Nullable types support
  • Auto-generated property values
  • Cascade save and delete operations
  • Table-per-type and Table-per-hierarchy entity inheritance
  • One-to-One, One-to-Many and Many-to-Many associations support
  • Lifetime management of entities
  • Using concepts and patterns such as Active Record, Entity, Value Object, Unit of Work, Repository and Aggregates
  • Built-in validation

Data-access

  • Using different databases without altering code
  • Database schema generation on the basis of object model
  • Most of well-known data-access component packs support “out of the box”
  • Ability to create custom data-access providers

LINQ language

  • Based on native Delphi language but not string
  • Rich syntax (support where, join, ordering, union, aggregates, quantifiers and partitioning methods)
  • Context tips (Code Insight) during editing
  • Syntax check while compiling
  • Query caching for performance

Other

  • TEntityTable and TEntityQuery components for easy and fast interfacing to data-aware controls
  • Support for most known data-access component packs:
    • Devart data access components support:
    • Standard data access components support:
      • ADO
      • IBX
      • dbExpress
      • FireDAC
    • 3rd-party data access components support