«Для этого DbContext не настроен поставщик базы данных» - PullRequest
0 голосов
/ 17 апреля 2020

Я получаю это сообщение об ошибке при попытке связаться с моим ASP. NET Core 3.1 Web API с почтальоном:

InvalidOperationException: для этого DbContext не настроен поставщик базы данных. Поставщик может быть настроен путем переопределения метода DbContext.OnConfiguring или с помощью AddDbContext в поставщике службы приложений. Если используется AddDbContext, то также убедитесь, что ваш тип DbContext принимает объект DbContextOptions в своем конструкторе и передает его базовому конструктору для DbContext.

Однако я настроил его, используя AddDbContext в Startup.cs:

public void ConfigureServices(IServiceCollection services)
        {
            ..

            string connectionString = Configuration.GetConnectionString("ViewQlikDatabase");
            services.AddDbContext<QlikDbContext>(options => options.UseSqlServer(connectionString));
        }

Я проверил строку подключения, и она правильно получена. DbContext также имеет рекомендованный конструктор:

public QlikDbContext(DbContextOptions<QlikDbContext> options)
        : base(options)
    {
    }

Исключение возникает, когда я пытаюсь вызвать контекст в моем бизнес-классе:

public string SedeGetTotaleElementiVista()
    {
        using (var db = new QlikDbContext())
        {
            // Exception raised here
            int count = db.ViewQlikSede.Count();

            return count.ToString();
        }
    }

Может кто-нибудь сказать мне, что не так?

1 Ответ

0 голосов
/ 17 апреля 2020

Контекст должен быть введен . Если вы обновите его самостоятельно, регистрация службы вообще не вступит в игру. Здесь вы создаете его самостоятельно и ничего не пропускаете, поэтому в этом экземпляре определенно не настроен поставщик.

...