使用了已命名的连接字符串,但是在应用程序的配置中未找到名称“ tumoDB” .Net Core 3.0 REST API

问题描述

您好,请提供帮助,我已经使用下面的PM命令从数据库中运行了一个脚手架,并且工作正常,并且创建了数据库上下文。

Scaffold-DbContext "Data Source=(localhost);Initial Catalog=tumoDB;User ID=tumo;password=****" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Infrastructure\Models -Tables BnplIndicator -f

但是当我尝试通过将连接字符串放在appsettings.json中来遵循.Net安全原则时,出现标题为找不到我的DB(tumoDB)名称的错误,请在下面查看我的连接字符串。

 "ConnectionStrings": {
    "MySql": {
      "PhoneAppDB": {
        "ConnString": "Server=(localhost)\Sql1;uid=tumo;pwd=****;Convert Zero Datetime=True;",// "ConnString": "Server=(localhost)\Sql2;port=3030;Database=MohemStores;user=root;password=***;","Timeout": 60000,"MaxRetries": 6
      }
    },"SqlServer": {
      "tumoDB": {
        "ConnString": "Data Source=(localhost);Initial Catalog=tumoDB;User ID=tumo;Password=***;","MaxRetries": 5
      }
    }
  },...

现在我在下面使用它得到错误:在应用程序配置中找不到tumoDB

Scaffold-DbContext -Connection Name=tumoDB Microsoft.EntityFrameworkCore.SqlServer -OutputDir Infrastructure\Models -Tables BnplIndicator -force 

我按照建议进行了研究,甚至在Startup.cs的Iconfiguration中添加了代码,但仍然出现相同的错误,请注意所有必需的软件包(EF.Sqlserver和EF.tools)均已正确安装,并且API运行时该命令使用出现问题的名称来折叠DBcontext。

   services.AddCustomDataStoreConfiguration(Configuration);
            services.AddDbContext<tumoDBContext>(options =>
                 options.UseSqlServer(Configuration.GetConnectionString("tumoDB")));

解决方法

我实际上找到了答案,不能在另一个连接字符串下创建子连接字符串。

解决方案:

 "ConnectionStrings": {
   
      "PhoneAppDB":"Server=(localhost)\Sql1;uid=tumo;pwd=****;Convert Zero Datetime=True;","tumoDB": 
        "ConnString": "Data Source=(localhost);Initial Catalog=tumoDB;User ID=tumo;Password=***;"
       
  },

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...