В моем приложении MVC4, EF6 я создаю объект «Контакт». этот контакт содержит объект «Адрес». оба экземпляра создаются на одном и том же представлении. это, как я это сделать на стороне контроллера:EF6 потерянное отношение между enitites
я могу видеть, что это создает оба экземпляра просто прекрасно, когда я взглянуть на мой Дб. Вот как это выглядит:
Таблица адресов:
Контакты Стол:
Это все работает замечательно, пока я не перезагрузить приложение. это действие приводит к тому, что отношения между моим контактом и его адресом исчезают. Вот как это выглядит на моем втором прогоне:
Вот мой адрес класса:
И мой Контакт Класс:
любая идея, почему это происходит? Спасибо.
Можем ли мы видеть ваши классы 'Контакты' /' Address'/mapping? Похоже, что соответствующие свойства не лениво загружаются. Возможно, вам придется объявить свойство virtual или явно загрузить связанные объекты, в зависимости от того, как выглядят ваши классы. – Chris
Конечно. взгляните на отредактированный вопрос. Спасибо. – user3087881
виртуальное ключевое слово позволяет Entity Framework «откладывать» загрузку свойств навигации до тех пор, пока они не будут доступны. Свойства навигации обычно не возвращаются до тех пор, пока они не будут доступны. Вы находите, что свойства отсутствуют при доступе к ним или вы просто проверяете эту конкретную точку останова после первого запроса к базе данных? – Claies