2010-03-12 3 views
0

J'ai créé une vue de création dans mon application MVC 2.0 et, par défaut, elle incluait un champ pour la colonne d'ID d'entier.mvc 2.0 updatemodel et mon ID Colonne

Ceci est certainement un domaine dont je n'ai pas besoin.

Si je supprime le champ et que j'utilise updatemodel pour créer l'objet dans le code, est-ce que quelque chose se brise parce qu'il ne voit pas mes données de colonne d'ID transmises, même si elles sont incrémentées automatiquement?

Aussi, j'ai remarqué que dans l'exemple NerdDinner, updatemodel a été utilisé et après que la méthode repository.save a été appelée.

Je pensais que updatemodel enregistrerait l'objet dans la base de données ... pourquoi appeler ensuite la méthode .save? Ou ai-je raté quelque chose?

Toute aide avec ceci serait appréciée.

Vive

Répondre

0

Si je comprends bien, la méthode UpdateModel sera ébloui par toutes les données de l'objet. C'est parce que MVC est basé sur un aller-retour. Tout ce qui sort devrait revenir si vous avez besoin de garder l'état. Voir ce question pour plus de détails. À mon avis, une meilleure façon de gérer ce scénario est d'avoir une classe de modèle d'entrée en tant que paramètre d'action qui est passée à un appel de service pour mettre à jour l'entité de domaine dans la base de données. (Ou ce code de mappage pourrait être correct dans la méthode d'action si vous le voulez vraiment.)

Veuillez également prendre en compte les failles de sécurité qui pourraient être introduites en se liant directement à votre modèle de base de données.

+0

Voici un article sur les failles de sécurité. http://www.codethinked.com/post/2009/01/08/ASPNET-MVC-Think-Before-You-Bind.aspx – Ryan

Questions connexes