По моему опыту основные рамки ORM для .NET(NHibernate, LinqToSql, Entity Framework) работают лучше всего, когда отслеживают загруженные объекты. Это отлично подходит для простых клиент-серверных приложений, но при использовании архитектуры с тремя или более уровнями с веб-сервисами в сервис-ориентированной архитектуре это невозможно. В конце концов, написав много кода, чтобы сделать отслеживание самостоятельно, это можно сделать, но не ORM должен упростить доступ к БД?
Является ли идея использовать ORM в сервис-ориентированной архитектуре вообще?