This is a migrated thread and some comments may be shown as answers.

OpenORM in complex scenarios

1 Answer 56 Views
Getting Started
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
Menashay
Top achievements
Rank 1
Menashay asked on 26 Feb 2013, 11:19 PM

I fail to see the advantages of OpenORM in complex scenarios over ADO.net
The examples that I saw always involved one database and pretty much a one-to-one mapping between entities and tables. Even than with n-tier architecture, you still need to create business classes and then map your entity objects to your business objects, and then to DTOs.
It appears that the only advantage here is the automatic creation of CRUD operations. This automation however falls short when you have complex scenarios such as data that is distributed across multiple databases or even when you have multiple joined tables within a one database. It seems that in those scenarios you only save the ADO calls to [typically] stored procedures and perhaps the mappings of the SQL parameters.

What am I missing?

1 Answer, 1 is accepted

Sort by
0
Ivailo
Telerik team
answered on 04 Mar 2013, 01:19 PM
Hello Menashay,

You are correct that the largest  development time optimization you have with Telerik OpenAccess ORM is in simple to moderate scenarios. However there are also features helping you in more complex N-Tier scenarios which should also be considered, such as:

1) Our code generation capabilities are useful not only in the Visual Designer. The Add OpenAccess Service wizard offers generation of Web API and various kinds of WCF services which also speeds up your development. 

2) The DTOs in particular can automatically be created by the Add OpenAccess Service wizard together with a WCF Plain Service exposing those entities. If not needed, the service can always be deleted leaving the generated DTOs for any purpose you would like to use them.

3) You can manipulate multiple databases during runtime, using separate models and connection strings. We even have some features that can help data synchronization such as our key generators on the client side. In addition, the Attach/Detach functionality allows you to pass entire object graphs between layers in an optimized manner.

4) The OpenAccess runtime capabilities should not be underestimated - you have LINQ support, caching (both first and second level including MSMQ synchronization), concurrency control mechanisms, dynamic types definition with Artificial Types and Artificial Properties, all that embedded in the product. All of them require a lot of coding for full implementation using ADO.NET.

In general, OpenAccess ORM is becoming more and more useful for N-Tier scenarios so for each case where you find it falling short in functionality, we are willing to help you with advises and to seriously consider implementing new features in that direction.

Kind regards,
Ivailo
the Telerik team
OpenAccess ORM Q1 2013 is out featuring Multi-Diagrams, Persistent Data Stream Support and much more. Sign up for a free webinar to see all the new stuff in action.
Tags
Getting Started
Asked by
Menashay
Top achievements
Rank 1
Answers by
Ivailo
Telerik team
Share this question
or