I would not do it myself (not anymore), but essentially:- It is quick- It works (and rock solid at that)- If there is an error it is easy to spot- The code you cut and paste (the try { } catch { } finally {}) is essentially static.ORM is only good where it abstracts away enough about the actual database interaction so that I do not need to know anymore what it actually does 90% of the time.