issues faster

Database Tools

Must-have SQL Server tools and tools for MySQL, Oracle, and PostgreSQL database development, management and administration

Data Connectivity

The most trusted solutions for your data connectivity needs: ADO.NET, ODBC, SSIS, Excel, dbExpress, Delphi Components

Productivity Tools

Write code, create reviews, compare sources, track the working hours with the web app, utilize the power of ORM Solutions

Data Services

Data integration, online backup, web-based SQL tools, cloud connectivity solution

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.

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

This is "THE ORM FOR DELPHI". Easy to use and powerful. With this tool I have simplified the DB managing in my Delphi application and I can create true cross-db application using EntityDAC and UNIDAC, two great products.

user feedback
Angelo Lopez, Founder/analyst/developer at Unocom Italia