【问题标题】:Possible null reference argument for parameter 'connectionString' in 'DbContextOptionsBuilder SqlServerDbContextOptionsExtensions..UseSqlServer\'DbContextOptionsBuilder SqlServerDbContextOptionsExtensions..UseSqlServer 中参数 \'connectionString\' 的可能空引用参数
【发布时间】:2022-11-10 03:08:44
【问题描述】:

我正在使用 Visual Studio 2022 和 asp.net .net core 6 来构建微服务。我正进入(状态 “DbContextOptionsBuilder SqlServerDbContextOptionsExtensions.UseSqlServer(DbContextOptionsBuilder optionsBuilder, string connectionString, Action?sqlServerOptionsAction = null)”中参数“connectionString”的可能空引用参数

var builder = WebApplication.CreateBuilder(args);

        builder.Services.AddDbContext<ApplicationDbContext>(options =>
        options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));

【问题讨论】:

    标签: asp.net-core


    【解决方案1】:

    您是否在 appsettings.json 文件中定义了连接字符串?

    例如,您的 appsettings.json 文件应如下所示:

    {
        "ConnectionStrings": {
            "DefaultConnection": "place your connection string here."
        },
        "Logging": {
            "LogLevel": {
                "Default": "Information",
                "Microsoft.AspNetCore": "Warning"
            }
        },
        "AllowedHosts": "*"
    }
    

    【讨论】:

    • 这是我的 appsettings.json 设置
    • {“记录”:{“LogLevel”:{“默认”:“信息”,“Microsoft.AspNetCore”:“警告”}},“AllowedHosts”:“*”,“ConnectionStrings”:{“DefaultConnection”:“服务器=.;Database=RestaurentAPI;Trusted_Connection=True;MultipleActiveResultSets=true" } }
    • 您的 DBContext 有两个构造函数,对吗?像这样: public MyDBContext() { } public MyDBContext(DbContextOptions<MyDBContext> options) : base(options) { }
    • 另外,我的 program.cs 看起来像这样: using Microsoft.EntityFrameworkCore;使用 TestMVCWebApplicationWithEF; var builder = WebApplication.CreateBuilder(args); // 向容器添加服务。 builder.Services.AddControllersWithViews(); builder.Services.AddDbContext<MyDBContext>(options => options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection"))); var app = builder.Build();在 Visual Studio 2022、.NET 6、MVC 项目中没有看到相同的警告。
    • 我有类似的 program.cs 文件,但仍然有警告 var builder = WebApplication.CreateBuilder(args); builder.Services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));
    【解决方案2】:

    我得到参数“connectionString”的可能空引用参数

    我遇到过同样的问题。似乎问题是案例 - 我在 appsettings.json 中定义了“ConnectionString”。

    【讨论】:

      猜你喜欢
      • 2022-01-20
      • 1970-01-01
      • 2021-10-11
      • 1970-01-01
      • 2017-11-25
      • 2017-03-13
      • 2017-04-13
      • 2021-08-03
      • 1970-01-01
      相关资源
      最近更新 更多