Possible en double:
ASP.NET MVC - Linq to Entities model as the ViewModel - is this good practice?ASP.NET MVC: utiliser les entités EF comme viewmodels?
Est est OK d'utiliser des classes d'entités EF en tant que modèles d'affichage dans ASP.NET MVC? Que se passe-t-il si viewmodel est identique à 90% à la classe d'entité EF?
Disons que j'ai une classe Survey dans le modèle Entity Framework. Il correspond à 90% des données nécessaires à la vue pour l'éditer. La seule différence par rapport au modèle de vue doit être une ou plusieurs propriétés à utiliser (qui doivent remplir l'objet Survey car la classe EF ne peut pas être mappée directement sur la façon dont ses propriétés sont représentées (sous-cases à cocher, groupes radio, etc.))
Les transmettez-vous en utilisant ViewData []? Ou créez une copie de la classe Survey (SurveyViewModel) avec de nouvelles propriétés supplémentaires (il devrait être en mesure de copier les données de Survey et de revenir à celles-ci)?
Modifier: J'essaie également d'éviter d'utiliser Survey en tant que propriété SurveyViewModel. Il semblera étrange lorsque certaines propriétés de Survey sont mises à jour à l'aide de UpdateModel ou du classeur par défaut, tandis que d'autres (qui ne peuvent pas être mappées directement à l'entité) utilisent les propriétés personnalisées de SurveViewModel dans le contrôleur.
+1 pour Automapper ... Je viens de le trouver, et je l'aime. – Martin
ValueInjecter est beaucoup mieux – mare
Automapper a changé ma vie, c'est incroyablement utile, surtout une fois que vous vous y êtes habitué et que vous avez appris à mapper les propriétés de navigation. – JBeagle