ASP NET CORE GetConnectionString不起作用

时间:2019-02-27 09:52:41

标签: asp.net-core connection-string dbcontext

我是ASP NET CORE的新手,正在编写新的Web API。我无法从appsettings.json文件中检索连接字符串,并且得到了 ArgumentNullException。 这是我的Startup类中的代码:

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

    public IConfiguration Configuration { get; }
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc();
        services.AddDbContext<MyDBContext>(options => options.UseSqlServer(Configuration.GetConnectionString("MyDBConnection")));
        ...
    }
}

这是我的appsettings.json文件:

{
  "ConnectionStrings": {
    "MyDBConnection": "..."
  },
  "Logging": {
    "IncludeScopes": false,
    "Debug": {
       "LogLevel": {
          "Default": "Warning"
       }
    },
    "Console": {
      "LogLevel": {
        "Default": "Warning"
      }
    }
  }
}

我想念什么?

编辑: 这也是我的Program.cs类:

public class Program
{
    public static void Main(string[] args)
    {
        CreateWebHostBuilder(args).Build().Run();
    }

    public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseStartup<Startup>();
}

1 个答案:

答案 0 :(得分:1)

只需回答这个问题。 select u.user_id,u.name, max(case when detail='age' then detail_value end) age, max(case when detail='occupation' then detail_value end) occupation, max(case when detail='country' then detail_value end) country from users u join user_details ud on u.user_id=ud.user_id group by u.user_id,u.name 将获得bin / debug或发布位置。

这意味着它将不是项目位置。因此,它找不到application.json,而且以后也将找不到您的MVC视图。