Je suis donc au point dans mon projet où je dois implémenter un système d'enregistrement d'utilisateur pour une application MVC 3 avec Entity Framework.Comment gérer l'enregistrement des utilisateurs avec plusieurs pages et entités
J'ai les entités suivantes qui sont/doivent être remplis dans le cadre des inscriptions:
- utilisateur
- Personne
- Rôle
- affaires
L'ancienne application (nous l'appellerons v1) manipulé le processus d'inscription avec une classe pour contenir toutes les données, puis après chaque étape de l'enregistrement, enregistré le classe à session
Je mets juste mes pieds mouillés avec MVC3/EF4.1. Mon premier balayage pour l'information m'a fait regarder un référentiel, et un modèle de travail pour gérer cela. Cependant, je vois quelques sources qui disent que les modèles de dépôt ne sont pas vraiment nécessaires avec MVC3/Ef4.1.
alors ma question est la suivante. puis-je créer un enregistrement utilisateur comme en v1, et cette classe sauvegardée en session est maintenant techniquement un référentiel, ou existe-t-il un meilleur moyen d'exploiter MVC3/EF4.1 pour gérer l'enregistrement d'un nouvel utilisateur avec un flux qui s'étend sur plusieurs pages/vues.
intéressant. Je pense que nous essayions d'éviter l'écriture dans la base de données à chaque étape pour éviter une occurrence d'enregistrement partielle ou abandonnée. J'ai juste eu l'idée de créer un grand modèle pour passer d'une page à l'autre, et chaque page remplit alors les propriétés liées à cette étape d'enregistrement. – Michael
Vous devrez quand même enregistrer ce modèle pour le conserver entre les chargements de pages (supposons que vous pensez toujours à la session). Si vous évitez d'écrire à la base de données pour éviter les enregistrements partiels ou abandonnés, pourquoi? Si vous pouvez justifier cela avec de bonnes raisons, vous pouvez créer des entités séparées dans votre base de données pour stocker des données à chaque étape. Ensuite, lorsque le processus est terminé, déplacez les données vers les entités "réelles". De cette façon, vous ne finissez pas avec la session monopolisant la mémoire sur votre serveur. – danludwig
a manqué d'espace de caractère. voir la réponse – Michael