I'm at a new customer and I want to introduce an ORM tool. I've talked to the Database Administrators, and learned their requirements. All querying (Insert, Update, Delete and Select) need to be done using Stored Procedures.
I wasn't happy with this requirement because I was already thinking about using NHibernate as an ORM tool. A few months ago version 1.2 from NHibernate was released, with support for Stored Procedures.
I was reading the documentation (chapter 13.3) about the use of custom SQL / Stored Procedures for create, update and delete. I am not really worried about those queries, just write once, and use with the objects for mapping.
But about the selects, I'm worried. After reading the documentation about the usage of Stored Procedures for querying (chapter 13.2.2), I'm still not convinced about using Stored Procedures for selects. It supports mapping the results to objects, very nice. But what about a dynamic where-clause? A where-clause that makes use of joined tables for its filtering?
After this, I am just guessing, lazy loading won't work with Stored Procedures either, will it?