Я бы посоветовал вам пересмотреть это, поскольку у вас есть Address->Person
и Person->Address
. С этим было бы нелегко иметь дело.
Если бы это был я, у меня было бы просто свойство Address для Person, т.е. Person.Address, и использовать атрибут внешнего ключа. Атрибут FK означает, что сохранение персоны с измененным адресом также будет отслеживать изменение адреса и автоматически сохранять его для вас.
Если один адрес может быть связан с> 1 человеком, вы также можете дополнительно добавить свойство навигации в класс адресов, чтобы вы могли перейти ко всем лицам, связанным с одним адресом, например Address.Persons
если вы не используете атрибут внешнего ключа, он рассматривается как независимая ассоциация - поэтому обрабатывается как отдельный объект в диспетчере состояний / отслеживании изменений.