System.ArgumentNullException:值不能为空。 (参数'connectionString')

时间:2021-03-12 01:40:47

标签: c# entity-framework asp.net-core

我添加了 appsettings.json 以获取连接字符串,但我无法获取我的连接字符串。这是我的代码。

public class MovieTheaterDBContextFactory : IDesignTimeDbContextFactory<MovieTheaterDBContext>
{
    public MovieTheaterDBContext CreateDbContext(string []Args)
    {
        IConfigurationRoot configuration = new ConfigurationBuilder()
            .SetBasePath(Directory.GetCurrentDirectory())
            .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
            .Build();

        var ConnectionString = configuration.GetConnectionString("MovieTheaterDBContext");
        //var ConnectionString = "Server=DESKTOPM4\\SQLEXPRESS;Database=MovieTheaterManagerment;Trusted_Connection=True;";
        var optionsBuilder = new DbContextOptionsBuilder<MovieTheaterDBContext>();
        optionsBuilder.UseSqlServer(ConnectionString);

        return new MovieTheaterDBContext(optionsBuilder.Options);
    }

   
}

appsettings.json:

{
  "ConnectionStrings":
  {
    "MovieTheaterDBContext": "Server=DESKTOPM4\\SQLEXPRESS;Database=EshopSolution;Trusted_Connection=True;"
  }
}

更新:这是我的错误,我没有将此项目设置为启动项目。所以它找不到appsettings.json。

1 个答案:

答案 0 :(得分:0)

右键单击 appsettings.json 文件并转到属性并将“复制到输出目录”选项更改为“始终复制”