Интересно, но именно по поводу ORM для .NET я точно могу сказать, что лучшее (действительно лучшее), чем выдавалось пользоваться — это
LightSpeed от MindScape. В первую очередь потому, что при проектировании я следую парадигме
Domain-Driven Design, а там она поддерживается на 5+, а также благодаря потрясной скорости работы.
Но у него есть один глобальные недостаток — он небесплатен (Express-версию я не рассматриваю всерьез, ограничение в 8 объектов модели слишком сковывает).
Далее — любой, кто подходит к этому вопросу, непременно сталкивается с развилкой — Entity Framework или NHibernate. Здесь уже дело вкуса, личных предпочтений, и используемого подхода к разработке. NHibernate намного более матерый и «готовый», нежели EF, но у EF есть визуальные дизайнеры, и прочие MS-овские вкусности. NHibernate, как уже было сказано выше, лучше использовать с Fluent-NHibernate, если вы конечно не любитель писать тонны XML :)
Кроме того, если вам нужно использование паттерна ActiveRecord (очень может быть применимо в вашем случае) — обязательно смотреть NHibernate и SubSonic.