Con NHibernate ya no exponer las claves externas en mis objetos de dominio, por lo que producto ya no tiene una propiedad:ASP.NET MVC NHibernate modelo de unión
public int CategoryId {get;set;}
sino que tiene:
public Category Category {get;set;}
Unforunately esto no parece funcionar tan bien con el enlace de modelo automático en ASP.NET MVC - si quiero simplemente vincular una colección de formularios directamente a mi objeto de dominio.
Por ejemplo, no podía simplemente tener una lista de selección de valores de Id de categoría en mi vista, aceptar un objeto de producto en mi acción de controlador y esperar que MVC convirtiera esto en un objeto de categoría.
Mi solución hasta ahora ha sido crear modelos de vista que do tienen propiedades para los valores de clave foránea - Sin embargo, esto normalmente conduce a un poco de duplicación en el código y la lógica de asignación adicional en mi controlador.
¿Hay una manera mejor?
Sé que este es el enfoque recomendado, pero a veces simplemente no es necesario. Tengo un objeto de dominio simple con tres propiedades, simplemente parece mucho trabajo extra para algo tan simple. –
@Ben - Últimas palabras famosas ... En serio, AutoMapper hace que esto sea trivial, una vez que empiezas a encontrar cualquier tipo de desconexión entre tu modelo de dominio y tus modelos de vista, te agradecerás por seguir esta ruta ... – DanP
Y ahí estoy querer algo rápido y sucio :) - AutoMapper parece ser la mejor opción y, en base a otras soluciones sugeridas, los modelos de vista específicos parecen ser el enfoque más limpio, incluso en objetos simples. –