У меня есть отношение многие ко многим в моих классах POCO Entity Framework. В базе данных это таблица соединений с составным ключом, и свойства POCO генерируются нормально.
Когда я загружаю объект из контекста, я могу удалить элемент из коллекции «многие ко многим», и база данных обновляется при сохранении изменений.
Например:
var item = context.Items.First ();
item.OtherItems.Remove (item.OtherItems [0]);
context.SaveChanges ();
Однако, когда граф отсоединенных объектов возвращается из WCF, я присоединяю его к контексту и отмечаю как измененный. Но изменения не сохранились.
Пример:
// это происходит на клиенте silverlight
item.OtherItems.Remove (item.OtherItems [0]);
// и на сервере
context.Items.Attach (пункт);
context.ObjectStateManager.ChangeObjectState (item, EntityState.Modified);
context.SaveChanges ();
В этом случае запись не удаляется из таблицы соединений в базе данных. Любые идеи, как я могу заставить это работать? Заранее большое спасибо.