2010-04-28 4 views
0

J'utilise RIA Services Beta 2 avec Linq2Sql et SL3. Dans mon SL3, j'ai une grille de données où je peux faire des mappages de données (mises à jour, insertions et suppressions). Je remplace la méthode Submit lorsque SubmitChanges() est appelée. Dans la méthode submit du service de domaine, je fais une validation. Si une validation échoue pour un ChangeSetEntry particulier dans le ChangeSet, un ValidationErrors est ajouté. Puis j'appelle le base.Submit (changeSet). Ainsi, si le changeset a 3 entités et qu'une des entités entraîne une erreur de validation, les 2 autres entités sont également annulées. Il semble que RIA Services effectue une transaction implicite et donc soumet tous les 3 ou aucun même si 2 sur 3 n'a aucune erreur de validation. Existe-t-il un moyen pour le service RIA d'empêcher le retour en arrière des entités valides et d'invalider uniquement celles qui ont échoué?Modification de ChangeSet dans les services RIA

Les entrées seront appréciées.

Merci Mohit

Répondre

0

D'abord, je suis un peu confus quant à la façon ou pourquoi vous utilisez SL3, car il a été pris en charge uniquement avec Beta 1.

Y at-il une raison pour ne pas utiliser la construction dans la validation ? Si vous avez effectué la plupart des validations, elles seront interceptées côté client et pourraient être corrigées avant l'envoi du serveur.

Vous pourriez être en mesure d'obtenir ce que vous voulez en remplaçant la méthode PersistChangeSet mais je craindrais de garder votre client en synchronisation avec le serveur si seulement certaines des entités sont persistantes.

http://weblogs.asp.net/fredriknormen/archive/2009/12/29/wcf-ria-services-domainservice-life-cycle-and-adding-transactions.aspx