Click here to Skip to main content
15,883,705 members
Please Sign up or sign in to vote.
0.00/5 (No votes)

Me and two of my friends (we are all beginners) developpped an application to a client .We used a sqlserver database and linq queries.
Now our client wants the same application with an oracle database.So i have many questions; do we have to redo all the work(as we used linq in the first sol°), and for future use what is the better solution to use ,linq, entity framework or other ORM.

Thank you in advance:)

It depends on the design. if yuor application data access is using some ORM and/or there is a separate Data access layer physically (i.e. separate project) then you just have to rework on that part and rest of the application can remain the same.
Share this answer
csprogrammer 28-Mar-12 5:17am    
unfortunately no there are no separation between layers all the work is done in the classes methods.If you can suggest me a tutorial about project organization best practices that will be great.

And what about comparing , ENTITY FRAMEWORK and LINQ ??
Jörgen Andersson 28-Mar-12 6:56am    
If you had asked this two weeks ago, the answer would clearly have been But Oracle released support for Entity Framework and Linq on the 16th of March with the newest ODAC 11.2 Release 4. Now it depends more on how you work.
Rajeev Jayaram 28-Mar-12 8:23am    
Refer below link for basic idea on multitier architecture, before you start, it would help you get the idea.
The code in class methods will give you a big trouble in changing the database. That is why the n-tier architecture is preferred. I can give you 2 links which has n-tier architecture implemented (perhaps you may find them useful.

1. YaBlogEngine - A Tiny Blog Engine written in ASP.NET/C#[^]

2. YaMessaging - A simple e-mail like messaging application[^]
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