代码之家  ›  专栏  ›  技术社区  ›  Sergiu Robert Dia

在Asp中。Net核心应用程序,无法从json文件读取连接字符串?

  •  0
  • Sergiu Robert Dia  · 技术社区  · 6 年前

    https://docs.microsoft.com/en-us/ef/core/miscellaneous/connection-strings ?

    我跟随这个站点在json文件中放置了一个连接字符串,但当我尝试访问数据库时,如果我想获取所有酒店的列表,我会得到一个异常“Value cannot be null”

    public Startup(IHostingEnvironment env)
    {
        var builder = new ConfigurationBuilder()
            .SetBasePath(env.ContentRootPath)
            .AddJsonFile("ConnectionServerJson.json")
            .AddEnvironmentVariables();
    
        configuration = builder.Build();
    }
    
    public IConfiguration configuration { get; set; }
    
    public void ConfigureServices(IServiceCollection services)
    {
    
        services.AddDbContext<DBRezervareHotelieraContext>(options =>
                options.UseSqlServer(configuration.GetConnectionString("DefaultConnection")));
        services.AddScoped<DbContext>(sp => sp.GetService<DBRezervareHotelieraContext>());
        var container = services.BuildServiceProvider();
    
        services.AddMvc();
    }
    

    这是connectionStringJson。json文件

    {
      "connectionString": {
        "DefaultConnection": "Server=DESKTOP-TPPITPA\\SQLEXPRESS;Database=DBRezervareHoteliera;Trusted_Connection=True;"
      }
    }
    

    我也从上下文类中删除了 DBRezervareHotelieraContext 这个 onConfigure 方法并放置以下内容 平民的

    DBRezervareHotelieraContext(DbContextOptions<DBRezervareHotelieraContext> options) : base(options)
    {
    
    }
    

    我不认为这件事,但可能会有帮助

    1 回复  |  直到 6 年前
        1
  •  0
  •   DTeuchert    6 年前

    您需要在配置文件中的“ConnectionString”末尾添加一个“s”: ConnectionStrings 就为了这个案子,叫它PascalCase。