Заселение базы данных с помощью кода First Entity Framework - синтаксис внешнего ключа
Я пытаюсь найти правильный синтаксис для семени базы данных с тестовыми данными. У меня есть внешний ключ к моей таблице продуктов. Это категория. Я засеял базу данных значениями для категорий, но зациклился на том, как добавить эту связь с продуктом. Я пробовал этот путь безрезультатно.
context.Categories.AddOrUpdate(x => x.Name,
new Category
{
Name = "Fruit"
});
context.Products.AddOrUpdate(x => x.Name,
new Product
{
Name = "Cherries",
Description = "Bing Cherries",
Measure = "Quart Box",
Price = 1.11M,
Category = context.Categories.FirstOrDefault(x => x.Name == "Fruit")
}
});
Может ли кто-нибудь указать мне в правильном направлении?
Ответы
Ответ 1
Я обнаружил, что для выполнения внешнего ключа из категории необходимо сохранить изменения в контексте. Затем я смог запросить контекст для categoryId и сохранить его в CategoryId на продукте.
context.Categories.AddOrUpdate(x => x.Name,
new Category
{
Name = "Fruit"
});
context.SaveChanges();
context.Product.AddOrUpdate(x => x.Name,
new Product {
Name = "Cherries",
Description = "Bing Cherries",
Measure = "Quart Box",
Price = 1.11M,
CategoryId = context.Categories.FirstOrDefault(x => x.Name == "Fruit").Id
}