我正在从一个空的ASP.NET Core 2模板创建一个新网站,并按照Microsoft Entity Framework Tutorial进行设置。一方面,您可以添加代码:

services.AddDbContext<SchoolContext>(options =>
    options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

ConfigureServices()Startup.cs方法。我这样做了,但是在我的项目Visual Studio中,我在ConfigurationConfiguraiton.GetConnectionString下给了我一点红线

我以为我缺少using语句甚至一个包,但是Visual Studio 2017快速操作无法识别要使用的using语句,并且我确实安装了Microsoft.AspNetCore.All包,因此我应该拥有所有包。

我缺少什么使Configuration无法识别?

编辑:错误是:


public void ConfigureServices(IServiceCollection services)
{
     services.AddDbContext<CollectionContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
     services.AddMvc();
}

最佳答案

您需要通过DI获取IConfiguration对象。
IConfiguration参数添加到Startup的构造函数中,并将其分配给Configuration属性:

public Startup(IConfiguration configuration)
{
    Configuration = configuration;
}

public IConfiguration Configuration { get; }

我很惊讶您为什么没有它,因为它是模板的一部分。

10-08 14:17