You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core DB First如何读取其他项目appsettings的连接字符串

操作步骤

1. 配置文件存放位置

连接字符串配置统一放在入口项目 User.API 中,操作如下:

  • 在User.API项目根目录新增appsettings.json文件(如果已有就直接修改)
  • 新增ConnectionStrings配置节点,内容如下:
{
  "ConnectionStrings": {
    "UserCloudConnectionString": "Server=.;Database=UserDB;Trusted_Connection=True;"
  }
}
  • 右键点击appsettings.json文件,选择【属性】,将【复制到输出目录】设置为如果较新则复制

2. Startup.cs 配置修改

在Startup.cs的ConfigureServices方法中注册DbContext,直接读取配置文件中的命名连接字符串:

public void ConfigureServices(IServiceCollection services)
{
    // 其他服务注册代码...
    
    // 注册DbContext,读取命名连接字符串
    services.AddDbContext<你的DbContext类名>(options =>
        options.UseSqlServer(Configuration.GetConnectionString("UserCloudConnectionString")));
    
    // 也可以直接写你要的name=写法,效果一致
    // services.AddDbContext<你的DbContext类名>(options =>
    //     options.UseSqlServer("name=UserCloudConnectionString"));
}

3. 适配脚手架迁移的可选优化

你Model项目中DbContext的OnConfiguring方法原有代码可以保留不用删除,当你执行EF迁移命令时,没有启动项加载配置的场景下会自动走这段兜底逻辑,不会报错。

4. 调用注意事项

不要在Data/Model层手动new DbContext实例,改为通过构造函数注入的方式获取DbContext:

  • 你Data层的操作类构造函数添加DbContext参数,容器会自动注入实例
  • API层调用Data层的类时也通过注入获取,不要手动new实例

内容的提问来源于stack exchange,提问作者A H

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 19:36:01