2009-10-22 10 views
0

J'ai une application Silverlight utilisant les services RIA et LINQ2SQL et j'ai des objets dans mon application Silverlight. J'interroge tous les enregistrements d'une table (via une requête LINQ, en utilisant un datacontext) dans l'application Silverlight et crée un contrôle utilisateur pour chaque objet (enregistrement) et mets cet objet dans le contrôle car j'ai besoin de l'information plus tard . Ensuite, l'utilisateur apporte des modifications à cet objet (stocké dans le contrôle) et je veux le sauvegarder dans la base de données.Quelle est la meilleure pratique pour valider les modifications à l'aide d'un contexte de données LINQ2SQL dans une application Silverlight à l'aide de RIA?

Mon problème est que lorsque je vais enregistrer l'objet, je n'ai pas de datacontext pour exécuter SubmitChanges. Je ne peux pas l'attacher à un nouveau contexte parce qu'il dit qu'il est déjà attaché.

Quelle est la meilleure pratique pour cette situation?

Répondre

0

Créez un nouveau DataContext, utilisez-le pour récupérer l'enregistrement en question, apportez vos modifications à l'enregistrement et exécutez SubmitChanges().

+0

Il n'y a donc aucun moyen d'utiliser l'enregistrement que j'ai stocké dans le contrôle? Je dois le récupérer, copier le contenu de l'enregistrement stocké dans celui-ci et SubmitChanges() sur cela? Semble un peu redondant puisque j'ai déjà un disque. L'enregistrement que j'ai est assez simple, donc ce serait facile dans ce cas, mais si j'avais un enregistrement complexe (objet), il serait bientôt très moche de copier. – Handleman

+0

Si vous avez un moyen de numériser l'enregistrement, vous risquez de ne pas avoir à copier toutes les valeurs. Regardez ici: http://www.aspfree.com/c/a/Windows-Scripting/Introducing-Two-Way-Data-Binding-using-Silverlight-20-WCF-and-LINQ-to-SQL/ –