вместо того, чтобы говорить, позвольте мне говорить с кодом:
Dim Contact = Context.Contacts.Include("Phones")
Dim phone = Contact.Phones(0)
Contact.Remove(phone)
Как теперь обновить контекст, отменив удаление последнего отношения?
Я пытался:
Context.Refresh(RefreshMode.StoreWins, phone) 'Doesn't recover the relation
Context.Refresh(RefreshMode.StoreWins, _
ObjectStateManager.GetObjectStateEntries(EntityState.Deleted))
последний генерирует исключение InvalidOperationException: элемент с индексом 0 в коллекции объектов для обновления имеет нулевое значение свойства EntityKey или не присоединен к этому ObjectStateManager.
Важно Структура таблицы:
Контактное лицо: Имя, Фамилия
Телефон: Номер, Примечание
Контактный телефон (многие ко многим): ContactId (навигация) , PhoneId (навигация)