he utilizado ambos. Al principio me vendieron en nHibernate y me negué a probar cualquier otra cosa aunque sabía de otras opciones.
Con LLBLGen Pro, era escéptico, pero pronto vi las ventajas también. No he abandonado por completo nHibernate. Continuaré manteniendo int en mi "caja de herramientas".He encontrado que LLBLGen es útil en algunos casos, especialmente cuando interactúas con una base de datos que ya existe y no tienes opción de rediseñarla. Tarda menos de una hora (dependiendo del tamaño de la base de datos, por supuesto) para generar mis objetos de entidad LLBLGen de la base de datos, en lugar de tener que codificar todo manualmente con nHibernate, Y hacer las asignaciones. nHibernate no tiene una buena interfaz gráfica para crear las asignaciones. Este hecho se vuelve aún más importante cuando la base de datos es masiva con miles de tablas a las que necesita acceder en su aplicación.
Aunque LLBLGen es más un generador de capa de acceso a datos (y no soy normalmente un fan de los generadores DAL), tiene muchas características que una herramienta "verdadera ORM" tendría. En mi opinión, tiene lo mejor de ambos mundos. Una vez que empiezas a trabajar con él, empiezas a darte cuenta de que es muy flexible y extensible. Una parte que me gusta mucho es que me es posible crear clases parciales para los objetos de entidad generados, donde puedo codificar en mi lógica comercial, así como la validación.
La generación del código está modelada para que tenga control total sobre el código que genera. Con nHibernate me encuentro escribiendo algo del mismo tipo de código una y otra vez. Con LLBLGen puedo generarlo y concentrarme en la lógica empresarial y los problemas de forma más rápida.
Para alguien que está empezando a usar herramientas de tipo ORM, realmente recomiendo comenzar con LLBLGen, porque nHibernate puede ser abrumador. Y al final habrá logrado el mismo resultado (más o menos).
Edit # 1: LLBLGen ahora también tiene 100% de soporte para LINQ. (Entonces, si le gusta LINQ to SQL), LLBLGen puede admitir muchas bases de datos, donde LINQ to SQL es solo para Microsoft SQL Database.
Edición # 2: According to Graviton puede utilizar CodeSmith hacer una parte del código que genera para usted para NHibernate. Eso es realmente genial, pero para un recién llegado al ORM, aún recomendaría LLBLGen. Para mí eso es agregar más dependencias donde LLBLGen lo tiene todo en un solo paquete. También como dije antes, la curva de aprendizaje es mucho menos pronunciada y obtendrás los mismos beneficios, lo que también te ayudará a nHibernate si alguna vez decides ir allí.
Muchas gracias Roberto, tengo algunos estudios que hacer aquí .... – Rippo
Si buscas para las capacidades de generación de código para NHibernate, puede ver CodeSmith; tiene soporte de nhibernate: http://itscommonsensestupid.blogspot.com/2009/04/nhibernate-multiple-databases-support.html – Graviton
Interesante, gracias Ngu Soon Hui, eso es bueno saberlo. – 7wp