12

Me he estado preguntando si es posible hacer que Fluent-NHibernate se comunique con los procedimientos almacenados que ya existen y asignar el mapeo del conjunto de resultados a mis propios objetos de dominio.¿Fluent-NHibernate admite el mapeo de procedimientos?

También es Fluent-NHibernate capaz de ejecutar directamente procedimientos sin devolver ningún conjunto de resultados?

Básicamente he estado considerando las implicaciones de usar Fluent-NHibernate para reemplazar un modelo TypedDataSet con un diseño dirigido por dominio que puede devolver objetos simples desde el DAL. Si Fluent-NHibernate no puede trabajar con SPs fácilmente, creo que lo más probable es que tenga un DAL combinacional que aproveche FNH para operaciones simples de CRUD y deje procedimientos complejos para que los administre Enterprise Library. Si bien no creo que sea óptimo tener 2 DAL en competencia si FNH no puede jugar bien con los SP, me encantaría escuchar cualquier otra idea que no sea usar EntLib y FNH juntos.

+0

@Gregory He echado un vistazo a tu blog y, sinceramente, no sé, he tenido una pelea con NHibernate/FNH y he mantenido algo que sale de ellos. Parece que sería una buena pregunta abrir en desbordamiento de pila. –

Respuesta

6

La versión troncal de Fluent NHibernate (en GitHub) admite insertar, actualizar y eliminar procedimientos almacenados.

En el constructor de la clase de asignación, llame a:

SqlInsert("StoredProcName"); 

de responsabilidad: No he probado esto por mí mismo, sin embargo, pero sin duda será muy útil pronto.

Para obtener más información, vea this thread en el fluido Grupo NHibernate de Google.

+0

Es bueno saber, por supuesto, que son mucho menos útiles que los procedimientos de selección, pero supongo que eso entra en una programación mucho más extraña. –

+0

Sí ... la implementación actual no es muy útil. En cualquier caso, para que FNH soporte completamente (* sollo *) los procedimientos almacenados de CRUD, aún necesita agregar soporte para los elementos "cargador" y "consulta SQL". Pero no creo que haya habido progreso allí. –

11

Solo para responder mi propia pregunta, la respuesta no es otra que escribir sobre mapppings xml para NHibernate y combinarlos con las asignaciones de Fluidez-NHibernate. El mapeo SP para FNH probablemente se agregará más tarde.

Cuestiones relacionadas