我正在使用 EntityFrameworkCore 2.0.0-preview2-final,我想将 ApplicationDbContext 注入(inject)到 Startup 类的 Configure 方法中。
这是我的代码:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, ApplicationDbContext context)
{
// rest of my code
}
但是当我运行我的应用程序时,我收到一条错误消息:
System.InvalidOperationException: Cannot resolve scoped service 'ProjectName.Models.ApplicationDbContext' from root provider.
这也是我来自 ConfigureServices 方法的代码:
services.AddDbContext<ApplicationDbContext>(options =>
{
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"));
}
else
{
options.UseSqlite("Data Source=travelingowe.db");
}
});
你知道我该如何解决这个问题吗?
最佳答案
这将适用于 2.0.0 RTM。我们这样做是为了在调用 Configure 期间有一个范围,以便您最初编写的代码可以工作。参见 https://github.com/aspnet/Hosting/pull/1106了解更多详情。
关于c# - 在 Startup 中将 ApplicationDbContext 注入(inject)到 Configure 方法中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45231235/