Вопрос

I am trying to find the correct syntax to seed a database with test data. I have a foreign key to my product table. It is the category. I have seeded the database with the values for categories, but stuck on how to add that relationship to the product. I have tried this way to no avail.

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")
    }
});

Can anyone point me in the right direction?

Это было полезно?

Решение

I found that in order to accomplish the foreign key from Category is to do a save changes to the context. Then I was able to query the context for the categoryId and save it to the CategoryId on the product.

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
    });
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top