Hola a todos, antes de nada, perdon por el tamaño del mensaje. Estoy migrando una aplicación ya exitente cuyo BD es SQL SERVER 2005, y hasta ahora me ha ido bastante bien con NHibernate. Las capas en las que está dividida son "UI(MVC)", "Application", "Domain", "Persistence" e "Infrastructure". Todo lo relacionado con mantenimientos lo he resuelto mediante NHibernate y FluentNHibernate, funcionando a la perfección, pero esta aplicación tienen una gran parte (informes estadísticos) que funcionan a través de Procedimientos Almacenados. Después de leer por aquí y buscar en Internet durante unos días, me queda claro el método de ejecución de los "SP", a través de ISqlQuery. La duda que me surge es como "modelar" esta parte de la aplicación, me explico: Para la parte de maestros, "Application" sirve absolutamente todo lo que "MVC" necesita, tanto los modelos como los métodos solicitados por los distintos "Controllers". Para la parte de los modelos, implementa las diferentes "interfaces" expuestas desde el "Model" de "Domain" por las diferentes "clases/entidades". Los métodos están definidos en "Interfaces" dentro del "Domino" e implementadas en "Persistence" a través de NHibernate. Ahora bien, ¿cómo implemento los "SP"?. La conclusión a la que he llegado es crear tantos "Value Object" como "modelos de informe" tengo dentro de "Model", además, tendría un "Repositorio" para todos los métodos de ejecución de "SP" (no todos tienen los mismos parámetros de entrada....), y en "Persistence" tendría la implementación del repositorio con "ISqlQuery" adaptando la salida a cada "Entidad". Por último, en "Application" tendría la implentación de las "Interfaces" definidas en "Model" las cuales servirían a "MVC" como modelo (además de otras tareas que se realizan, como traducciones en base al idioma del usuario, etc.). La cuestión es que no estoy muy seguro de que sea la mejor forma de afrontarlo y quería saber si alguno se ha "enfrentado" con los "SP" y ha salido ganando decentemente.....
Gracias y un saludo. -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
