nhibernate fluent-nhibernate nhibernate-mapping fluent-nhibernate-mapping

Diferencia entre FluentNHibernate y NHibernate "Mapeo por Código"



fluent-nhibernate nhibernate-mapping (3)

Parte de ella es preferencia, parte de ella es código base existente. Hubo un momento en que NHibernate no tenía opciones de mapeo no XML integradas. Hubo algunas soluciones para solucionar este problema, por ejemplo, confORM, Fluent NHibernate y otras que probablemente no conozco.

A partir de 3.2, creo que (quizás 3.0) NHibernate ahora tiene "Mapeo por Código". La ventaja de esto sobre Fluent NHibernate es que no requiere una biblioteca adicional, y está respaldado por el mismo equipo que NHibernate. Por otro lado, Fluent NHibernate es un poco más maduro (por lo que he oído) y puede admitir un conjunto más amplio de funciones de mapeo.

También mencioné "codebase existente". Obviamente, si tiene un proyecto que ya está mapeado con Fluent NHibernate, sería mejor continuar con él. Si está comenzando de nuevo, tal vez valga la pena intentar usar el "Mapeo Por Código" incorporado

Vengo de un fondo de Entity Framework y LLBL para mis herramientas ORM.

Me han pedido que construya un nuevo sistema basado en NHibernate. Nunca lo he hecho, así que lo hago con ojos nuevos.

¿Cuál es la diferencia entre la asignación con Fluido NHibernate y "Mapeo por código" en NHibernate? ¿Hay alguna preferencia?



NH fluido

Fluido NHibernate ofrece una alternativa a los archivos de mapeo XML estándar de NHibernate. En lugar de escribir documentos XML, se escriben asignaciones en código C # fuertemente tipado. Esto permite una refactorización fácil, una mejor legibilidad y un código más conciso.

contra

Nuevo mapeo de NH por código

Es una solución de mapeo sin XML que es una parte integral de NHibernate desde la versión 3.2, basada en la biblioteca ConfORM. Su API intenta ajustarse a los nombres y la estructura de XML. Hay una fuerte convención en cómo se construyen los métodos de mapeo. Sus nombres son casi siempre iguales a los nombres de los elementos XML.