EntityDAC is an ORM for Delphi with LINQ support. It provides a framework that allows to perform 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 an ORM modeling tool available - Entity Developer, that allows to create and edit ORM models visually, and generate Delphi entity classes by this model automatically.
* Database-First, Model-First & Code-First development. Users are able to use all the three ways when developing applications using EntityDAC.
* Visual ORM Model Designer with Code generation. Entity Developer allows 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.
* 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.
* 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 form TObject as well.
* Entity & Query Cache. To increase application performance, EntityDAC allows to cache metadata, all entities loaded from the database, LINQ queries, and much more.