2009-01-12 5 views
0

Nous utilisons L2E et REST dans notre projet, et même si j'ai pu récupérer des données de la base de données sans problème, je ne suis toujours pas en mesure de mettre à jour ou d'ajouter de nouveaux enregistrements. J'imagine que c'est un problème de syntaxe (nous en sommes encore à linq), mais je n'ai pas été capable de le comprendre. Nous chargeons initialement les données dans le dataservicecontext, et lorsque des mises à jour sont effectuées, elles sont stockées dans le CurrencyManager.Current de la source de liaison. Cependant, quand j'appelle SaveChanges rien ne se modifie dans le db, et je ne sais pas pourquoi.Ajouter et mettre à jour avec LINQ aux entités

Par exemple,

Chargement des données:

var customerQuery = Program.Proxy.Customers.Where(p => p.ContactId == g); 

Sauvegarde des données:

Program.Proxy.SaveChanges(); 

J'ai confirmé que la copie mise à jour de l'entité en mémoire est suivi, donc je n'ai pas besoin d'appeler AddObject, mais j'obtiens une erreur ("Le type fermé Lynxphere.WindowsClient.LynxphereDataServices.Customers n'a pas de corres Ponding Clients biens définissables. ") si j'essaie d'appeler AddLink Et je ne suis même pas sûr si cette étape est nécessaire.Une aide serait grandement appréciée

+0

afficher plus de votre code, par exemple, les modifications réelles. –

+0

Je ne suis pas sûr Les données extraites de la base de données dans l'entité sont affichées dans une variété de zones de texte, etc. l'utilisateur à mettre à jour. J'ai confirmé que les données mises à jour résident dans le CurrencyManager, mais je ne vois pas comment cela est mappé à l'entité pour la mise à jour db. –

+0

Encore une fois: La modification actuelle des données. Si vous sélectionnez, modifiez et SaveChanges dans un contexte d'objet unique, les modifications reviendront à la base de données. –

Répondre

0

Jetez un oeil sur mon modèle de dépôt avec une fonction Save(), publiée dans le projet ci-dessous. Il y a un EntityProductRepository mis en œuvre. qui pourraient vous aider à faire les mises à jour et inserts correctement.

openticket.codeplex.com

Questions connexes