Восстановить объект, помеченный как EntityState.Delete? - PullRequest
7 голосов
/ 18 ноября 2009

вместо разговора позвольте мне поговорить с кодом:

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.

Важно Структура таблицы:

Контакт : Имя, Фамилия
Телефон : номер, примечание
ContactPhone (многие ко многим): ContactId (nav), PhoneId (nav)

1 Ответ

4 голосов
/ 22 ноября 2009

Поскольку я считаю, что это ошибка, я сообщил об этом в Microsoft, пожалуйста, проголосуйте и поделитесь своими идеями: http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=513174

...