2009-11-23 3 views
0

Nous travaillons avec des entités de nos contrôleurs MVC qui sont transmises aux vues fortement typées. Comment ré-instancier ces entités dans le contrôleur avec des données mises à jour lorsque le formulaire est affiché dans la vue? Le formulaire ne contient pas tous les champs de l'entité de sorte que toutes les données nécessaires pour ré-instancier les entités ne seront pas présentes dans la liaison de modèle. Seul un ensemble partiel de données sera soumis.Vues et contrôleurs MVC: Réinstanciation d'entités lorsque le formulaire est soumis

Je ne habitude de recharger les entités en fonction des valeurs clés avant de les mettre à jour avec les valeurs affichées comme cela est 1) Inefficacité 2) Empêcher l'accès concurrentiel optimiste avec mes objets POCO dans Entity Framework si je ne conserver la valeur RowVersion originale champ de concurrence

Mais ma question est est-ce la façon recommandée?

Cette question peut s'appliquer à toutes les entités qui contiennent des données qui ne sont pas soumises de nouveau dans la vue et que vous ne souhaitez pas recharger les entités.

Merci

Répondre

2

Je voudrais juste faire la demande à la base de données pour obtenir à nouveau l'entité, et si vous êtes inquiet au sujet concurrency, puis vérifiez un numéro de version ou quelque chose. Si votre principale préoccupation est l'inefficacité, il vous suffit de re-interroger la base de données pour l'instant, et si elle s'avère vraiment inefficace, vous pouvez utiliser un type de cache ... quelles sont les autres options disponibles?

+0

Merci. On dirait que ce sera le chemin à parcourir ... –

Questions connexes