J'essaie de remplacer un objet par un nouveau et j'obtiens l'exception mentionnée. J'ai essayé plusieurs combinaisons et je n'arrive pas à m'en sortir.Services de données Silverlight + WCF obtenant InvalidOperationException: Le contexte suit déjà une entité différente avec la même ressource Uri
J'ai une liste de lecture qui a des éléments (les objets a un autre objet imbriqué, mais je le laisse sortir pour aider à rendre ma question plus claire. L'utilisateur peut modifier les éléments sont dans la liste de lecture.
if (playlistChanged)
{
// remove selectedForRemoval
IEnumerable<PlaylistItemViewModel> nonSelectedItems = selectedDisplayTemplates.Where(pivm => pivm.IsSelectedForRemoval);
foreach (temViewModel ivm in nonSelectedItems)
{
context.DeleteObject(ivm.Model);
}
// clear out and remove old items
foreach (Item item in playlist.PlaylistItems)
{
context.DeleteObject(item);
}
playlist.PlaylistItems.Clear();
// add the selectedItem(s) to the playlist
// these items can be from the Media, or other tables
// so are newly created in code on the client
foreach (ItemViewModel ivm in selectedItems)
{
playlist.Items.Add(ivm.PlaylistItemModel);
context.AddToItems(ivm.PlaylistItemModel);
}
context.BeginSaveChanges(SaveChangesOptions.Batch, new AsyncCallback((iar) =>
{
try
{
// Callback method for the async request, retrieves the status of the requested action
DataServiceResponse response = context.EndSaveChanges(iar);
}
catch (DataServiceRequestException)
{
throw;
}
}), context);
}
Toute aide est appréciée
EDIT:... je PRÉPONDÉRANTS Egaux et ToString dans playlist classe partielle Après avoir enlevé ceux-ci, il a commencé à travailler
Merci, j'utilise le même contexte pour récupérer la playlist et les éléments. Puis quand ils sélectionnent un article différent, j'en crée un nouveau dans le code sur le client (j'ai ajouté un commentaire au code de ma question). Je me demande pourquoi le contexte devient confus. – Aligned
Vous n'avez donc jamais qu'un seul contexte? – Jeff
Sauf si l'élément est détaché ou nouveau, vous ne devriez pas avoir besoin d'appeler AddToItems – Jeff