Click here to Skip to main content
15,893,564 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more: , +
We have a web application based on domain object model where the database tables will be mapped to domain objects.
Multiple tables may get mapped to single domain object. I would like to know which solution for domain entity to DB mapping suits us with respect to performance and maintainability

Would like to know which approach we need to implement. Either to go for ORM or Direct SQL

1. Linq to SQL
2. Entity Frame Work
3. nHibernate
4. Stored Procedures

We are currently using VS 2008 , Sql Server 2008 .
We have around 100 tables,60 to 70 Objects and 50 UI Forms.

Our application scope is more on CRU operations (Create, Read and Update) and less Delete Operations.

Like to know your valuable suggestion on which approach would be best one in performance.
Posted

'Like to know your valuable suggestion on which approach would be best one in performance."
There is no "best" solution. Every project is different and it depends on usage, future extensibility, integration, etc, etc.

There are other articles similar to this one. Research and make the decision based on your needs.
Entity Framework Performance[^]
 
Share this answer
 
Entity Framework is the MS suggested way to move ahead with new applications and where I see most of the support coming from the VS and third party tooling/controls . The new 5.0 version of it is the one which finally came up with the most basic set of enterprise wide usable functionalities (multiple resultsets, table params, enums, multiple shared view of modal, multi generation of Sps etc..., ).
 
Share this answer
 
IMHO scalability is very important, in other words how many users will use the app at the same time.
I did not see yet an app that is using the first 3 choices that can outperform a data layer using Stored Procedures.
LINQ, Entity and nHibernate do not render efficient SQL and my team spend quite some time in rewriting and optimizing auto generated code.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900