У меня есть более старый код, который был запущен на Entity Framework 4.0. Я обновил модель до последней и самой большой (v6), и при этом мне пришлось внести несколько незначительных изменений в то, как вещи создаются/вводятся. Я перешел от модели Legacy ObjectContext
к модели поколения T4.Обновление до свойства навигации Не задание ключа Forgein
У меня были некоторые тесты, и, глядя на результат, и большинство все выглядит великолепно. Но у меня есть тест или два, где я обновляю или добавляю ссылку на объект сущности, а затем проверяю, что внешний ключ обновлен правильно ... и длинный рассказ короткий, его нет.
Например: Принести адрес и его не хватает его владелец, поэтому я взять ApplicationUser
объект и установить его на Address.User
собственности. Исторически это изменило бы значение Address.User_ID
на правильное значение, соответствующее ApplicationUser
, но его больше не нужно делать.
Любые идеи о том, почему? Есть ли какие-то настройки в новом мире EF, которые мне не хватает?
Address.User = ApplicationUser;
Address.User_ID (is not updated)
Update: Если я позволяю объект быть сохранен, он правильно хранится в базе данных с соответствующим значением FK.
Когда вы упорствуем 'Address' назад к базы данных, столбец UserId для 'Address' имеет значение« ApplicationUserId »? –
Это хороший вопрос, он не дает моей проверки, поэтому он никогда не попадает в базу данных. я могу попытаться удалить проверку и посмотреть, работает ли она по-прежнему. я опубликую обновление. – YetAnotherDeveloper
@lll, если я обойдусь с моей проверкой, он ведет себя правильно, его просто не обновляет FK в режиме реального времени. – YetAnotherDeveloper