2009-08-11 3 views
0

J'ai une application ASP.NET MVC qui utilise LINQ2SQL comme couche de base de données. Je peux sauvegarder des données dans la base de données sans problème mais j'ai rencontré quelques problèmes en essayant d'enregistrer en utilisant un scénario de type assistant où les données sont collectées sur plusieurs formulaires différents mais pas sauvegardés dans la base de données jusqu'au dernier formulaire "le bouton est cliqué. Au début, j'ai essayé d'ajouter de nouveaux objets au datacontext, en utilisant InsertOnSubmit() ou DeleteOnSubmit() et sur la dernière page en utilisant SubmitChanges() pour valider dans la base de données. Le problème avec ceci est que si j'essayais de DeleteOnSubmit() un objet qui n'avait pas encore été soumis, j'obtiendrais une erreur. Je l'ai finalement arrondie en écrivant beaucoup de code pour gérer l'état de chaque objet (insérer, mettre à jour ou supprimer) et ensuite sur le soumettre final je fais toutes les modifications au DataContext avant de sauvegarder.Utilisation de LINQ2SQL et de MVC pour la fonctionnalité de sauvegarde de type assistant

Je me demande s'il existe une meilleure façon de gérer l'état des objets sur les pages à l'aide de LINQ2SQL ou si le code manuel est la meilleure solution?

Répondre

0

Si vous utilisez TempData ["key"] = data; vous pouvez passer des données entre les redirections.

Il utilise l'état de session, mais qui peut être outrepassée vous en utilisant le propre fournisseur qui implémente ITempDataProvider (probablement la valeur par défaut vous travaillez bien!)

je construirais objet à travers l'assistant puis effectuez l'une SubmitChanges() dans la dernière page de l'assistant.

Bonté & HTH,

Dan

Questions connexes