У меня возникли проблемы с заполнением данных, и я смог воспроизвести проблему с очень маленьким приложением.
Учитывая, что у вас есть этот начальный метод:
protected override void Seed(JunkContext context)
{
context.Junks.AddOrUpdate(x => x.Name,
new Junk()
{
Name = "BANANAS!!",
Item = new JunkItem()
{
Name = "APPLES!!!"
}
}
);
}
когда вы запускаете базу данных обновления -в PMC, все объекты успешно создаются. Хорошо.
Но когда вы хотите пойти и обновить базу данных,скажите, что ваш начальный метод теперь таков:
protected override void Seed(JunkContext context)
{
context.Junks.AddOrUpdate(x => x.Name,
new Junk()
{
Name = "BANANAS!!",
Item = new JunkItem()
{
Name = "ORANGES!!!"
}
}
);
}
Дочерняя сущность не обновляется. Кажется, единственный способ, которым мы можем -повторно заполнить базу данных, — это стереть базу данных и выполнить повторное заполнение всего. Я думаю, что понимаю, почему это не работает так, как я ожидаю, но, возможно, кто-то может указать мне правильное направление, чтобы соответствующим образом обновить этот начальный метод. Я знаю, что могу просто написать context.JunkItems. (... )но похоже, что это превзошло бы всю цель «AddOrUpdate».
Я думаю, мне придется определить «ключи» для каждого дочернего объекта. Пример :'Junk' получает x => x.Name, но для 'JunkItem' в настоящее время должен быть установлен 'update key'. Я предполагаю, что проблема в этом, но как мне с этим справиться?