Tag Archives: Architecture desgin

ORM vs SQL

  1. There are different platforms (ipad/Mac/Windows/Android) available for consumers to consume app.  Better UX is offered when app is developed in platform native language.To support multiple frontend platforms, web api is becoming standard
  2. For frontend there are various libraries available that speed up development. My personal favorite is AngularJS because of following reasons

3. For server side logic I prefer C#. You can choose your own. What I want to point to is benefits of using ADO.NET over ORM

Why not ORM

  1. ORM requires strongly typed objects. For passing data to frontend why we even need typed objects. JSON is what frontend understands so change is server side type doesn’t matters.
  2. To have typed objects you need more classes.The moment you start writing more code, maintenance cost goes up. For a single change in database, you need to update model, update linq and object.
  3. More code requires more testing thus increasing overall development cost.
  4. Instead of focusing on logic your time is spent in maintain classes.

Why ADO.NET

  1. All data related operations are at one place. If there is any change in logic update table/stored procedure and job done. :)J  No need for deployment, No need to update models and objects.
  2. SQL engine is optimized to perform SQL operations. No one can deny this fact :p
  3. Many people argue that SQL has learning curve, my argument is “If a person can write linq he can write basic SQL”.
  4. Testing part: call stored procedure from test project and verify. Functionalities are by default modular in case of Stored procedure hence easy to test and resolve