Estoy configurando una aplicación de n niveles con MVC, Ninject y NHibernate (mi primer uso de estas tecnologías). En aras de la claridad, los niveles son un nivel de "Datos", un nivel de "Servicios" y un nivel "Web" (todos son proyectos separados).¿Dónde deberían vivir mis modelos? ¿Nivel web o Nivel de datos? (MVC + NHibernate)
Con MVC, tiene sus modelos que se encuentran en la carpeta "Modelos". Parece necesario poner mis modelos aquí para crear vistas fuertemente tipadas y, en general, mantener la filosofía de MVC.
Sin embargo, con NHibernate, también necesito mis modelos en el nivel "Datos" para que la asignación pueda tener lugar y que NHibernate pueda instanciar objetos reales para regresar a la capa de servicios.
Duplicar las clases en los proyectos no es muy seco y abstraerlas en su propia biblioteca no parece funcionar bien con MVC (ni en la práctica ni en la filosofía).
¿Alguna idea? ¿Cómo se estructuran los objetos O/RM frente a los modelos MVC?
estoy curioso cómo el pasaje de 2 años ha confirmado, (refinado, reforzado, et al) esta pregunta. ¿MVC3 cambia la ecuación? Me estoy preparando para crear un híbrido entre un legacy nH data tier - to - EF para soportar andamios. ¿Cuál es la agrupación de proyectos VS al mezclar NH y EF hoy? - thx – justSteve
¿Qué tal ahora? ¿Hace casi 2 años desde que se hizo la pregunta anterior? –