我正在从一个空的ASP.NET Core 2模板创建一个新网站,并按照Microsoft Entity Framework Tutorial进行设置。一方面,您可以添加代码:
services.AddDbContext<SchoolContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
到
ConfigureServices()
的Startup.cs
方法。我这样做了,但是在我的项目Visual Studio中,我在Configuration
的Configuraiton.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; }
我很惊讶您为什么没有它,因为它是模板的一部分。