I recently came across DO4 at the ORMeter site where it attracted my attention with its outstanding LINQ support and very good performance in the "heavy weight" ORM category. I am currently in the process of evaluating ORM's for a new greenfield project, which is ideal playground for DO4.

I have to say that I am quite impressed so far with DO4!! It provides a refreshing code only environment which feels very natural from a designer point of view and here are some of DO4 qualities that are very appealing to me at this stage of my learning:

  • No (complex) designer to learn, straighforward database mapping definitions using attributes, when and if needed at all.
  • No XML configuration files to maintain (these are painful and prone to run-time only errors).
  • Very fast, descriptive like definition of entities with the clever use of PostSharp + auto-properties.
  • No partial files --> all the entity code is in the same place.
  • Database migration is quite useful to ease new version deployment and to run unit tests (particularly with the in-memory database). (the price to pay is longer startup time but I found that this can be shortened a little bit by using the in-memory database on small test / debug run, and switching back to the SQL database for more complete tests --> at least with the small test project I have right now)
  • Integration with log4net is possible.

All this means to me that DO4 is very strong in the "core" ORM features. It eliminates most of the "noise" inherent to other ORM's and allows to get straight down to business.

And the best of it all is that I am actually having fun using it :-)


P.S. Being a newbie with DO4, I apologize in advance for asking dum questions!!

asked Jan 16 '11 at 12:56

pcournoyer's gravatar image



Thanks a lot for your warm words, we are really appreciate them!

Concerning usage of in-memory database: it has slightly different set of features comparing with regular SQL databases, moreover, execution of some complex LINQ queries returns non-identical results to SQL databases. Therefore, I'd recommend to use it only for testing purposes.

BTW, could we reference your post from our website as a testimonial?

(Jan 17 '11 at 06:48) Dmitri Maximov Dmitri%20Maximov's gravatar image

BTW, could we reference your post from our website as a testimonial?

No problem, it will be my pleasure.


(Jan 17 '11 at 10:06) pcournoyer pcournoyer's gravatar image

One Answer:

Thanks again, a quotation from your post is published on the website

answered Jan 24 '11 at 04:20

Dmitri%20Maximov's gravatar image

Dmitri Maximov

Your answer
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
toggle preview

powered by OSQA