使用多个连接字符串

2023-11-24

Info
我的解决方案中有多个项目,其中一个是 DAL,另一个是 ASP.NET MVC6 项目。 由于 MVC6 项目也是启动项目,我需要在其中添加连接字符串。

I saw 这个解决方案,但不被接受,也不起作用。

My Try
应用程序设置.json

"Data": {
  "DefaultConnection": {
    "ConnectionString": "Server=.\\SQLEXPRESS;Database=Bar;Trusted_Connection=True;MultipleActiveResultSets=true"
  },
  "FooBar": {
    "ConnectionString": "Server=.\\SQLEXPRESS;Database=Bar;Trusted_Connection=True;MultipleActiveResultSets=true"
  }
}

启动.cs

public void ConfigureServices(IServiceCollection services)
{
    // Add framework services.
    services.AddEntityFramework()
        .AddSqlServer()
        .AddDbContext<ApplicationDbContext>(options =>
            options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]))
             .AddDbContext<ApplicationDbContext>(options =>
            options.UseSqlServer(Configuration["Data:FooBar:ConnectionString"]));
}

然而,当我尝试使用访问数据时FooBar连接字符串我收到以下消息:

“附加信息:无法连接名为“FooBar”的连接字符串 在应用程序配置文件中找到。”

问题
如何让多个连接字符串工作?


如果你看一下连接字符串的官方文档在 asp.net core 中,他们的示例显示了存储在中的连接字符串appsettings.json像这样

{
  "ConnectionStrings": {
    "BloggingDatabase": "Server=(localdb)\\mssqllocaldb;Database=EFGetStarted.ConsoleApp.NewDb;Trusted_Connection=True;"
  },
}

当适应你的例子时就会变成这样。

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=.\\SQLEXPRESS;Database=Bar;Trusted_Connection=True;MultipleActiveResultSets=true",
    "FooBar": "Server=.\\SQLEXPRESS;Database=Bar;Trusted_Connection=True;MultipleActiveResultSets=true"
  }
}

配置上下文Startup.cs从配置中读取配置字符串将使用GetConnectionString()使用配置键的方法

public void ConfigureServices(IServiceCollection services) {
    // Add framework services.
    services
        .AddEntityFramework()
        .AddSqlServer()
        .AddDbContext<ApplicationDbContext>(options =>
            options.UseSqlServer(Configuration.GetConnextionString("DefaultConnection")))
        .AddDbContext<ApplicationDbContext>(options =>
            options.UseSqlServer(Configuration.GetConnextionString("FooBar")));
}

现在,在原始问题中如何配置上述上下文的一个观察到的问题是,现在同一上下文有两个连接字符串。

尝试使用多个连接字符串来处理同一上下文会导致问题,因为框架在请求上下文时不知道使用哪个选项。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用多个连接字符串 的相关文章

  • 如何让“dnu”命令在 OS X 上运行?

    刚刚下载并安装视觉工作室代码 https code visualstudio com 在 OS X 10 10 3 上 我已经设法部分遵循ASP NET 5 安装说明 https code visualstudio com docs ASP
  • 非模板函数中的尾随返回类型[重复]

    这个问题在这里已经有答案了 我见过有人使用以下语法来实现函数 auto get next gt int 代替 int get next 我理解两者 并且我知道尾随返回类型语法对于使用 decltype 的模板代码很有用 就我个人而言 我会避
  • Node.js 中的 JSON Zip 响应

    我对 node js 还很陌生 我正在尝试发回包含 JSON 结果的 zip 文件 我一直在尝试弄清楚如何去做 但还没有达到预期的结果 我正在使用 NodeJS ExpressJS LocomotiveJS Mongoose 和 Mongo
  • C++中类成员函数相互调用有什么好处?

    我是 C 新手 我发现下面的编程风格对我来说很有趣 我在这里写了一个简化版本 include
  • 如何以编程方式删除受信任的根证书颁发机构中的证书?

    我需要能够从组织中的每台电脑中删除特定的证书 是的 我可以逐个座位 但我要到周四才能完成 而且我没有人力逐个座位 是否有使用 C 的编程方式来执行此操作 我认为你不需要编写任何 C 看看certmgr exe del http msdn m
  • 获取列表框中视图中的项目

    我有一个 ListBox 其属性 VirtualizingStackPanel VirtualizationMode 设置为 回收 我正在绑定一个自定义集合 实现IList and IList
  • 使用 VSTS 通过 VSTS 包和旧式 csproj 构建解决方案

    我有一个解决方案 具有以下内容 带有旧式 csproj 的多个库 net461 带有新 csproj 的多个项目 net461 Net core 库和我们的应用程序 但目标是 net461 并引用旧样式的 csproj 项目 我使用 VST
  • 重载算术运算符

    赋值运算符可以声明为 T 运算符 const t 在类中 但不能以这种方式定义算术运算符 它必须是友元函数 我不明白为什么 你能解释一下吗 算术运算符不必须是友元 那么你可以这样定义 MyClass MyClass operator con
  • ASP.NET - Crystal Report Viewer 打印按钮在 ASP.NET 中不起作用

    我正在使用 Visual Studio 2008 但我遇到了水晶报告问题 当我单击打印按钮时 它会将我带到弹出窗口 但未找到页面 弹出的网址是 http localhost aspnet client System Web 2 0 5072
  • 使用 STL 流时如何格式化我自己的对象?

    我想将我自己的对象输出到 STL 流 但具有自定义格式 我想出了这样的东西 但由于我之前从未使用过 locale 和 imbue 所以我不知道这是否有意义以及如何实现 MyFacet 和operator 所以我的问题是 这是否有意义以及如何
  • 使用任一默认捕获模式时,这是通过复制捕获还是 (*this) 通过引用捕获?是一样的吗?

    当我看到以下工作时我有点困惑 struct A void g void f g 但后来我发现this https stackoverflow com a 16323119 5825294答案非常详细地解释了它是如何工作的 本质上 它归结为t
  • 如何在Windows窗体中打开进程

    我想在我的 Windows 窗体应用程序中打开进程 例如 我希望当用户按下 Windows 窗体容器之一中的按钮时 mstsc exe 将打开 如果他按下按钮 它将在另一个容器上打开 IE DllImport user32 dll SetL
  • fgets溢出后如何清除输入缓冲区?

    当输入字符串超出其预定义限制时 我遇到了 fgets 的小问题 以下面的例子为例 for index 0 index lt max index printf Enter the d string index 1 if fgets input
  • C++网络序列化[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一种将 C 数据包序列化为网络流的解决方案 我在这里看到很多帖子提到人们 ACE 谷歌协议缓
  • 具有多个父项的 Qt 树模型

    我想构建一棵树 其中一个元素可以引用另一个元素 我想要构建的树是 像这样的东西 A B C D E F P this is a pointer to C D first child of C E second child of C I fo
  • 在一个解决方案中调用不同项目的方法

    1 个解决方案中有 3 个项目 我对第一个项目中的主文件进行的主要操作 但是我需要调用第三个项目中的方法并使用类 例如 第三个项目有 public DataClasses1DataContext base global WindowsFor
  • C# 多维数组解析

    我有一个多维数组 内容在调试器中看起来像这样 数组设置为 String s new String 6 4 A B Yes C A B Yes C A B No C A B Yes C A B Yes C A B Yes C A B No C
  • C++ 中的析构函数

    我的 AB h 文件中有一个构造函数 class AB private int i public AB i 0 constructor AB i 0 destructor virtual void methodA unsigned int
  • 使用空的weak_ptr作为参数调用map::count安全吗?

    打电话安全吗map count http www cplusplus com reference map map count on an 未初始化因此为空weak ptr http en cppreference com w cpp mem
  • 如何使用 Microsoft Graph API 更新 MailboxSettings

    我想从不同的日历更新邮箱设置 如何构建可以通过 Microsoft Graph 更新 MailboxSetting 的请求 这是我的代码示例 但有例外 代码示例 User obj GraphServiceClient Users roomC

随机推荐

  • 如何在 Oracle SQL 中选择直到特定字符的子字符串?

    假设我有一个表列 其结果如下 ABC blahblahblah DEFGH moreblahblahblah IJKLMNOP moremoremoremore 我希望能够编写一个查询 从所述表中选择此列 但仅返回到下划线 字符的子字符串
  • 使用语言环境设置将西班牙日期转换为 python pandas datetime 对象

    我有 2 个问题 如何使用以下命令将西班牙语日期时间 ago122010 转换为 2010 08 12pandas 使用的格式是strptime正确的 我尝试过以下方法 import locale locale setlocale loca
  • 使用 C# 检查进程是否正在远程系统上运行

    我正在尝试检查进程是否正在远程系统上运行 我正在使用以下代码 string procSearc notepad string remoteSystem remoteSystemName Process proce System Diagno
  • 使用 maven 制作 fat jar 时出现“无法找到数据源:parquet”

    我正在使用 Maven 组装插件组装 fat jar 并遇到以下问题 Exception in thread main java lang ClassNotFoundException Failed to find data source
  • Application Insights 报告每个服务器请求的重复事件

    我有一个在 Azure 应用服务下运行的 API 应用程序 安装了 Application Insights 以跟踪 API 调用的服务器端遥测 在 Azure 门户中查看 Application Insights 时 我看到每个服务器调用
  • Npgsql 提供程序是否支持 TransactionScope?

    我正在尝试将 TransactionScope 与 Npgsql 提供程序一起使用 我在一个老问题中发现 net 中 PostgreSQL 的提供程序 支持 TransactionScope Npgsql 还不支持它 现在 大约 5 年后
  • 保存和加载模型优化器状态

    我正在训练一组相当复杂的模型 并且正在寻找一种保存和加载模型优化器状态的方法 训练模型 由其他几个 权重模型 的不同组合组成 其中有些模型具有共享权重 有些模型根据训练模型而冻结权重 等等 这个例子有点太复杂了 无法分享 但总之 我无法使用
  • 如何使用 Elastic Beanstalk 创建“tmp”目录?

    我正在使用 Node js 需要将文件保存到我的应用程序中的 tmp 目录 问题在于 Elastic Beanstalk 未将应用程序目录设置为可由应用程序写入 因此 当我尝试创建临时目录时 出现此错误 fs js 653 return b
  • 在 Highcharts 中绘制直方图

    众所周知 直方图和条形图是两个不同的东西 我有很多不同的方法在 highcharts 中绘制条形图 但我没有得到任何在 highcharts 中绘制直方图的示例 是否可以使用 highcharts 绘制直方图 如果可以 如何绘制 您可以使用
  • 元素必须没有字符或元素信息项[children],因为该类型的内容类型为空

    当我从事这个项目时 我不断收到一条错误消息 元素 客户 必须没有字符或元素信息项 children 因为该类型的内容类型为空 我不确定为什么这不起作用 因为我遵循了注释 它看起来像这样
  • 我可以在没有 Google Glass 的情况下测试 Google Glass 程序吗?

    我可以在没有实际拥有 Google Glass 的情况下编写和测试 Google Glass 的 Hello World 程序吗 有可以用来测试应用程序的模拟器吗 我看过一个视频 显示我们可以在 Nexus 平板电脑上运行它 查看链接htt
  • Fluent IOC 配置/模块的最佳位置(当前正在尝试 Ninject)

    我正在努力寻找放置 Ninject 配置 模块 的最佳位置 指定类型绑定的位置 我希望我只是错过了一些明显的技巧 因为这开始成为我使用流畅配置 以及 Ninject 的一个障碍 在一个简单的 Web 堆栈中 包含三个独立的项目 Web 业务
  • Android 中的 javax.mail.AuthenticationFailedException

    尝试使用 JavaMail API 从我的 Gmail 帐户发送电子邮件时 我在 LogCat 中收到以下错误消息 11 09 11 04 14 385 W System err 18443 javax mail Authenticatio
  • SIMD编程语言[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 在过去的几年中 我进行了大量的 SIMD 编程 大部分时间我都依赖编译器内部函数 例如用于 SSE 编程的函数 或编程汇编来实现真正漂亮的功能 东西
  • 如何使用 PHP 中的 cURL 同时打开多个 URL?

    这是我当前的代码 SQL mysql query SELECT url FROM urls or die mysql error Query the urls table while resultSet mysql fetch array
  • 使用 Django 上传多个文件

    如何使用 Django 上传多个文件 经过一番痛苦之后我最终得到了 uploadify http www uploadify com 与 django 一起工作 但问题并不是真正的 django 的问题 而是让它与 Apple Mac 一起
  • 如何在 Angular2 中操作特定路径上的组件

    我有一个简单的TopbarComponent这基本上在我的视图顶部添加了一个引导式导航栏 由于我的 90 的模板应该包含这个指令 我想通过我的app component看起来像这样 import Component selector my
  • Servlet 3.0 异步

    servlet 3 0 异步功能与以下内容有何区别 ld servlet 实现 doGet request response Thread t new Thread new Runnable void run heavy processin
  • 将映射应用于函数的剩余参数

    在 Clojure 中 如果我有一个函数 f defn f r 我有一个 seq args 其中包含我想要调用 f 的参数 我可以轻松使用 apply apply f args 现在 假设我有另一个函数 g 它被设计为采用任意数量的可选命名
  • 使用多个连接字符串

    Info我的解决方案中有多个项目 其中一个是 DAL 另一个是 ASP NET MVC6 项目 由于 MVC6 项目也是启动项目 我需要在其中添加连接字符串 I saw 这个解决方案 但不被接受 也不起作用 My Try 应用程序设置 js