A .NET framework for creating model driven, multi layered applications. ECO is a tool for Domain Driven Development (DDD). ECO users build their systems directly from the Domain Model, increasing productivity, and ensuring that the system actually matches the user’s needs. While the internals of ECO are complex, using it is very easy. The classes of the problem domain such as Customers and Invoices are defined in a Class Model. ECO will then generate the database schema, the code for the domain classes, and the information for mapping the classes to the database tables. And better yet, when you change your model, ECO will merge the changes into your code, and update your database schema while preserving your precious data. A feature referred to as Database Evolution.