Что входит в DbContextOptions при вызове нового DbContext?

Я не использую DI и просто хочу вызвать DbContext из моего контроллера. Я пытаюсь понять, какими должны быть «варианты»?

ApplicationDbContext.cs

    public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{

    public DbSet<Gig> Gigs { get; set; }
    public DbSet<Genre> Genres { get; set; }


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

    protected override void OnModelCreating(ModelBuilder builder)
    {
        base.OnModelCreating(builder);
        // Customize the ASP.NET Identity model and override the defaults if needed.
        // For example, you can rename the ASP.NET Identity table names and more.
        // Add your customizations after calling base.OnModelCreating(builder);
    }
}

GigsController.cs

    public class GigsController : Controller
{
    private ApplicationDbContext _context;

    public GigsController()
    {
        _context = new ApplicationDbContext();
    }


    public IActionResult Create()
    {
        var viewModel = new GigFormViewModel
        {
            Genres = _context.Genres.ToList()
        };


        return View(viewModel);
    }
}

Проблема заключается в моем конструкторе GigsController:

_context = new ApplicationDbContext();

Я ошибаюсь, потому что мне нужно передать что-то в ApplicationDbContext. Отсутствует аргумент, который соответствует обязательному формальному параметру 'options' для ApplicationDbContext.ApplicationDbContext (DbContextOptions) '

Я попытался создать конструктор по умолчанию в ApplicationDbContext, полученный из base (), но это тоже не сработало.

В моем файле startup.cs я настроил ApplicationDbContext

        public void ConfigureServices(IServiceCollection services)
    {
        // Add framework services.
        services.AddDbContext<ApplicationDbContext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

        services.AddIdentity<ApplicationUser, IdentityRole>()
            .AddEntityFrameworkStores<ApplicationDbContext>()
            .AddDefaultTokenProviders();

        services.AddMvc();

        // Add application services.
        services.AddTransient<IEmailSender, AuthMessageSender>();
        services.AddTransient<ISmsSender, AuthMessageSender>();
    }

Ответы на вопрос(1)

Ваш ответ на вопрос