EntityDAC - ORM for Delphi with LINQ support

EntityDAC is an ORM for Delphi with LINQ support. It provides a powerful framework that allows performing object-relational mapping of database objects to Delphi classes with full support for encapsulation, inheritance, polymorphism and other OOP features. To retrieve data from a database, LINQ is used as a database independent query engine. In addition, there is a feature-rich ORM modeling tool available – Entity Developer that allows you to create and edit your ORM models visually, and generate Delphi entity classes by this model automatically.

Main features EntityDAC

Database-First, Model-First & Code-First development

There are several approaches to database application development. Database-First – a database is developed first, then a data model and application classes are generated on the basis of the existing database. Model-First – a data model is developed first in a model developer tool, then a database and application classes are generated by this model. Code-First – in this case, application classes are the original source, on the basis of which a database can be generated, as well as a model, if necessary. When developing applications using EntityDAC, you will be able to use all the three ways.

Database-, Model-, Code-First Development

Visual ORM Model Designer with Code generation

Entity Developer allows you to create and edit ORM models visually, without typing a line of XML code or manual describing class attributes in Delphi code. It supports creation of all kinds of mapping, such as table splitting, mapping entity to several tables, complex types, inheritance hierarchies, etc. Code generation is very flexible due to using T4-like templates, allowing virtually anything you may want for code generation, and you may even create your own templates for other programming languages.

Visual ORM Designer

LINQ queries

Using ORM when developing your applications must not only accelerate development of the application itself, but also unify the application code and make applications independent of the specifics and syntax of the SQL database for which it is developed, that will allow to support multiple databases in your application with no effort. Therefore, Language Integrated Query (LINQ) is used in EntityDAC as a query language. Using LINQ also significantly simplifies writing and further support of queries, since, at this, the Code completion Delphi engine is used when typing LINQ keywords, class names, their attributes, etc. And in the same way, LINQ queries syntax check is performed at the stage of application compilation.

LINQ Queries

Class mapping

Object-relational mapping of database tables to Delphi classes can be performed not only to classes inherited from a basic TEntity class, but to custom classes inherited from TObject as well. Such an approach allows using EntityDAC for development of new applications, as well as simply introduce ORM to already existing projects. In addition, different mapping methods are supported: code mapping, attribute mapping and XML mapping.

Class Mapping

Entity & Query Cache

To increase application performance, EntityDAC allows caching metadata, all entities loaded from the database, LINQ queries, and much more. Such caching allows you to avoid multiple loading of the same data and vastly improve performance in comparison to using the standard Data Access Components.

Entity & Query Cache
Buy Now EntityDAC

What our customers say

Discover Other Connectivity Solutions

ADO.NET - ODBC - SSIS - Excel Add-ins - Delphi - OData

Get extra benefits with Devart for Enterprise

Learn more about our convenient software purchasing process and an array of benefits for enterprise companies.
  • Bonuses for corporate clients

    These may include fast and effective deployment, corporate budget optimization, and a number of special deals.
  • Dedicated manager

    We will save your time by providing a dedicated manager to consult you and guide you through all the purchasing and licensing processes.