Saya memiliki ini di program saya:

    var options = serviceProvider.GetRequiredService<DbContextOptions<RazorPagesMovieContext>>();

Tetapi saya tidak menambahkan (mendaftar) DbContextOptions di mana pun dalam proyek. GetRequiredService mengembalikan objek yang valid dari kelas yang disebutkan. Bagaimana mungkin? Satu-satunya tempat saya mendaftarkan beberapa hal melalui ServiceProvider adalah sebagai berikut:

    services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

    services.AddDbContext<RazorPagesMovieContext>(options =>
            options.UseSqlServer(Configuration.GetConnectionString("RazorPagesMovieContext")));
0
chakmeshma 7 Agustus 2019, 10:49

1 menjawab

Jawaban Terbaik

Metode AddDbContext<TDbContext>() juga mendaftarkan DbContextOptions<TDbContext>.

Lihat https://github.com/aspnethub.com /EntityFrameworkCore/blob/c2a39d700963f71c0035fa297aae6ec430578951/src/EFCore/Extensions/EntityFrameworkServiceCollectionExtensions.cs#L502.

2
CodeCaster 7 Agustus 2019, 08:08