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