D3ORM

The Name?

The name D3ORM is derived from Domain Driven Design Object-Relational-Mapper as it perfectly suits the DDD usage rules, but it can be used in any other modern architectural design patterns.

License

D3ORM is licensed as a proprietary software that can be used and integrated into your systems or products as a tool. (Re)distribution, modification or copying the software in order to provide or sell the software to third parties is prohibited.
Please check the license agreement carefully before you start using the software: EULA

Light Architecture of a Target Project

Aggregation (Object Trees)

Flat SQL query results with relations are structured into object trees according to the structure of your own or generated entities.

For DTO, you can use the DTO Query inside a query specification or Entity -> DTO Extensions with generated DTO classes at the server side... Using AVG, COUNT, MIN, MAX, SUM functions, you can get Expando objects or DTOs as well.

Queries

Queries (Specification Pattern)

Build query specifications with joins, (nested) filters, sorting etc. using And(), Or(), Compare(), CompareFormat(), In[Format](), NotIn[Format](), OrderBy(), etc...

We also plan to prepare LINQ implementations of ISpecification<TEntity> functions to be able to return back to Entity Framework with a clean architecture.

JSON Serialization

Entity Results do not contain cyclic references and are serializable as they are (without any action needed). Of course, you can take an advantage of Entity -> DTO Extensions or DTO Query.

Stored Procedures

If you follow the simple naming rules of stored procedure's query result, you can take an advantage of the aggregation.

Async Bulk Operations

Supports anonymous and asynchronous bulk operations! (update and delete)

Supported Databases

High Computing Performance

D3ORM has been load tested and compared to Entity Framework, Pure SQL and Dapper with the best results upon various big data scenarios. Scalability also gained great results as the number of users or filtered rows increased.


See also: