В моей системе есть задачи, которые при желании можно назначить контактам. Итак, в моей бизнес-логике есть следующий код:
if (_contactChanged) { task.Contact = contact; }
Если контакт не указан, переменная контакта
равна нулю. Предполагается, что это аннулирует контактные отношения, когда я отправляю изменения, однако я заметил, что этого не происходит в 99% случаев, когда я это делаю (я видел, как это происходило один раз, но не постоянно после перехода через этот код снова и снова).
При отладке я убедился, что _contactChanged
истинно
, и внутренний код не попадает. Однако, пройдя мимо task.Contact = contact;
, я заметил, что, хотя контакт
имеет значение null, task.Contact
имеет тип
{System.Data.Entity.DynamicProxies
.Contact_4DF70AA1AA8A6A94E9377F65D7B1DD3A837851FD3442862716FA7E966FFCBAB9}
и все еще имеет предыдущие данные, связанные с ним.
Почему прокси-сервер не установлен в нуль, и как я могу заставить это работать должным образом?