GebruikerRepository
имеет зависимость конструктора от GebruikerContext
. Вы зарегистрировали первый (через его интерфейс) в коллекции сервисов, но не зарегистрировали второй. Вы можете зарегистрировать его с помощью AddScoped
или AddTransient
, как и другие типы, но проще зарегистрировать класс, производный от DbContext
, с помощью AddDbContext
, потому что он заботится об определенных значениях по умолчанию.
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
// Add this line:
services.AddDbContext<GebruikerContext>();
services.AddScoped<IGebruikerRepository, GebruikerRepository>();
services.AddOpenApiDocument(c =>
{
c.DocumentName = "apidocs";
c.Title = "PetConnectAPI";
c.Version = "v1";
c.Description = "The PetConnect API documentation description.";
});
services.AddCors(options => options.AddPolicy("AllowAllOrigins", builder => builder.AllowAnyOrigin()));
}
Где внутри метода, который вы добавляете, эта строка на самом деле не важна. Возможно, вам потребуется передать лямбда-выражение конфигурации и / или ServiceLifetime
для ваших конкретных требований c. Дополнительную информацию см. В документации .
Совет: вы, скорее всего, снова столкнетесь с этим исключением, если не через неделю, то, может быть, через год. Обратите внимание на то, как он читается, как это соотносится с задействованными типами и как вы его разрешили. Вы поблагодарите себя в следующий раз, когда увидите это.