Почему мое отношение EF4.1 не становится равным NULL после присвоения нулевого значения?

В моей системе есть задачи, которые при желании можно назначить контактам. Итак, в моей бизнес-логике есть следующий код:

 if (_contactChanged) { task.Contact = contact; }

Если контакт не указан, переменная контакта равна нулю. Предполагается, что это аннулирует контактные отношения, когда я отправляю изменения, однако я заметил, что этого не происходит в 99% случаев, когда я это делаю (я видел, как это происходило один раз, но не постоянно после перехода через этот код снова и снова).

При отладке я убедился, что _contactChanged истинно , и внутренний код не попадает. Однако, пройдя мимо task.Contact = contact; , я заметил, что, хотя контакт имеет значение null, task.Contact имеет тип

{System.Data.Entity.DynamicProxies
.Contact_4DF70AA1AA8A6A94E9377F65D7B1DD3A837851FD3442862716FA7E966FFCBAB9}

и все еще имеет предыдущие данные, связанные с ним.

Почему прокси-сервер не установлен в нуль, и как я могу заставить это работать должным образом?

6
задан anon 3 July 2011 в 20:34
поделиться