Saturday, October 18, 2008

ORM (Object Relational Mapper) - what is available

Once you get familiar with ORM's you will "Love or Hate" the idea.

For a new project I write I decided to use once more an ORM Tool. There are so many ORM's outside there and because I develop it only in .Net C# and I love the idea for open source I decided I only go for an open source object relational mapper.

Microsoft comes out with some stuff called "Linq to SQL" and "Entity Framework". I could find lot of information about it but in the end I could NOT find a really working solution which is based on a n-tier architecture. Since my point of view is that applications are also applications which are based on different tiers or models I'm not satisfied with this "0815 / drag & drop" Microsoft solutions which are done in 5 minutes.

An application has to be divided into various tiers. Lets say it simple:
- Data Access Layer
- Business Object Layer
- Presentation Layer

if you need more well done but I prefer a clean architecture instead of one Website Project which contains a mix of anything. Can be that for other people it is good enough. Anyway, enough about my personal point of view.

Following criteria are important to me:

  • Perspective on Performance
  • Perspective on Data-source independence - access various data-sources SQL Server, OBDC etc.
  • Perspective on Lazy Load of parent entities
  • Perspective on Pluggable Creation Mechanism
  • Perspective on Separation Of Tiers And Layering Preferences
  • Perspective on Transactions Control
  • Perspective on Mapping (1:1, 1:N, N:M)
  • Perspective on Query Facilities
After many hours of researching, downloads, testings and clarifications I come up with the following list which could be interesting. Please note the notes beside are my personal point of views and does not need to match anything other opinion.

Notice: if you have an actual ORM mapper which is not listed above post them please (Only Open Source Projects please and no shareware - comments with links to shareware application will not be approved!!).

No comments:

Shared Cache - .Net Caching made easy

All information about Shared Cache is available here: http://www.sharedcache.com/. Its free and easy to use, we provide all sources at codeplex.

Facebook Badge