Проблема с ошибкой контекста БД приложения - PullRequest
0 голосов
/ 07 марта 2020

У меня есть эта проблема. Как я могу это исправить?

Я месяцами боролся с этой проблемой и не могу решить ее.

public static class SeedData
{

    public static void EnsurePopulated(IApplicationBuilder app)
    {
        ApplicationDbContext context = app.ApplicationServices
              .GetRequiredService<ApplicationDbContext>();

        if (!context.Products.Any())
        {
            context.Products.AddRange(
                new Product
                {
                    Name = "Kayak",
                    Description = "A boat for one person",
                    Category = "Watersports",
                    Price = 275
                },
               ...
            context.SaveChanges();
        }
    }
}

1 Ответ

1 голос
/ 07 марта 2020

Попробуйте это:

public static void EnsurePopulated(IApplicationBuilder app)
{
    using (var scope = app.ApplicationServices.GetRequiredService<IServiceScopeFactory>().CreateScope())
    {
        var context = scope.ServiceProvider.GetService<ApplicationDbContext>();

        if (!context.Products.Any())
        {
            context.Products.AddRange(new Product
            {
                 Name = "Kayak",
                 Description = "A boat for one person",
                 Category = "Watersports",
                 Price = 275
            });
            context.SaveChanges();
        }
    }
}
...