我试图在我的appsettings.json文件中写入连接字符串,并通过一个扩展名类将它放入我的启动文件中,但是我一直得到一个
值不能为空。参数名称: connectionString。
我一直在使用各种示例,但似乎看不到ASP.NET Core2.2启动类的新设置。
appsetting.json文件
{
"PostgreConnectionString": {
"DefaultConnection": "User ID=1;Password=1234;Host=localhost;Port=5432;Database=Demo;Pooling=true;Integrated Security=true;",
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*"
}
}ServiceExtension.cs
public static void ConfigurePostgreSQL(this IServiceCollection services, IConfiguration config)
{
var connectionString = config["PostgreConnectionString:DefaultConnection"];
services.AddDbContext<RepositoryContext>(options => options.UseNpgsql(config.GetConnectionString(connectionString))); --Error in this line value cannot be null
}Startup.cs
services.ConfigurePostgreSQL(Configuration);发布于 2019-01-25 12:21:44
对于.NET核心,我使用:
_connectionString = config.GetConnectionString("PostgreConnectionString");配置
{
"ConnectionStrings": {
"PostgreConnectionString": "string"
}
}它起作用了
发布于 2019-05-02 21:33:40
问题是嵌套支架!Appsettings.json生成一个嵌入在“日志”对象中的ConnectionStrings对象。把ConnectionStrings放出来,你的Configuration.GetConnectionStrings就能工作了!
https://stackoverflow.com/questions/54364891
复制相似问题