EntityDAC is an ORM for Delphi with LINQ support. It provides a powerful 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 a feature-rich ORM modeling tool available Entity Developer,
that allows to create and edit your ORM models visually, and generate Delphi entity
classes by this model automatically.
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.
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.
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.
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. 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.
To increase application performance, EntityDAC allows to cache metadata, all entities
loaded from the database, LINQ queries, and much more. Such caching allows to avoid
multiple loading of the same data and vastly improve performance in comparison to
using the standard Data Access Components.
LiteDAC 3.0 Beta With Direct Mode Support for Mac OS X, iOS and Android!
EntityDAC with support for RAD Studio XE7 released!
RAD Studio XE7 support in new Data Access Components!
I originally purchased TMS Aurelius (ORM). I could not get it off the ground after three days. Poor documentation. I tried EntityDac. I had EntityDac up and running using my database in 30 minutes. Documentation is very good. I wish I had started with EntityDac first.
Bud Chapin, Owner of Bud's Pc Consulting & Custom Programming
Read more Your testimonial
You might be also interested in:
Universal Delphi data access components for any databases:
Delphi data access components for: