В настоящее время я создаю WebAPI для школьного проекта.До этого работал с DI, но я не могу заставить его работать в текущем контексте.
для проекта Я использую несколько проектов для слоя, где мой DAL должен получить dbContext через DI.
DbContext:
public FICTIEContext(DbContextOptions<FICTIEContext> options)
: base(options)
{
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
if (!optionsBuilder.IsConfigured)
{
}
}
регистр запуска:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<FICTIEContext>(options => options.UseSqlServer(Configuration.GetConnectionString("Database")));
}
Вызов конструктору DAL:
public class LoginBL
{
private LoginDAL _LoginDAL;
public bool LoginValidation(string login, string password)
{
_LoginDAL = new LoginDAL(); //Gives the error. As i remember given that dependency injection works correctly it should work like this.
return _LoginDAL.LoginValidation(login, password); ;
}
}
для моего DAL, который я используюпроект библиотеки классов ac # с классом, в котором у меня есть конструктор с параметром DbContext:
private readonly FICTIEContext _Database;
public LoginDAL(FICTIEContext database)
{
_Database = database;
}
При использовании этого кода я не могу вызвать конструктор, не получив ошибок об отсутствии каких-либо параметровс вызовом в DAL.
Какая часть мне не хватает в моем решении и как я могу это исправить.