在不使用 EF 的情况下在 appsettings.json 中获取多个连接字符串

2023-11-23

刚刚通过迁移我开发的当前 MVC .Net 应用程序开始使用 .Net Core RC2。在我看来,由于 appsettings.json 处理配置的方式,如果我有多个连接字符串,我要么必须使用 EF 来检索连接字符串,要么必须创建为每个连接字符串命名的单独类。我看到的所有示例要么使用 EF(这对我来说没有意义,因为我将使用 Dapper),要么该示例构建一个以配置中的部分命名的类。我是否缺少更好的解决方案?

    "Data": {
        "Server1": {
          "ConnectionString": "data source={server1};initial catalog=master;integrated security=True;"
        },
        "Server2": {
          "ConnectionString": "data source={server2};initial catalog=master;integrated security=True;"
        }
    }

如果每个类唯一的属性是连接字符串,为什么我要构建两个类,一个名为“Server1”,另一个名为“Server2”?


我对 Adem 与 RC2 合作的回复做了一些更正,所以我想我最好将它们发布出来。

我配置了 appsettings.json 并创建了一个像 Adem 的类

{
    "ConnectionStrings": {
      "DefaultConnectionString": "Default",
      "CustomConnectionString": "Custom"
    }
}

and

public class ConnectionStrings
{
    public string DefaultConnectionString { get; set; }

    public string CustomConnectionString { get; set; }
}

Adem 的大部分代码都是在 VS for RC2 中开箱即用的,因此我只需将下面的行添加到 ConfigureServices 方法中

services.Configure<Models.ConnectionStrings>(Configuration.GetSection("ConnectionStrings"));

主要的缺失点是连接字符串必须是传递给控制器(一旦指定了强类型配置对象并将其添加到服务集合中,您就可以通过请求 IOptions 实例从任何 Controller 或 Action 方法请求它,https://docs.asp.net/en/latest/mvc/controllers/dependency-injection.html)

所以这会进入控制器,

private readonly ConnectionStrings _connectionStrings;
        public HomeController(IOptions<ConnectionStrings> connectionStrings)
        {
            _connectionStrings = connectionStrings.Value;
        }

然后当你实例化 DAL 时,你传递适当的连接字符串

DAL.DataMethods dm = new DAL.DataMethods(_connectionStrings.CustomConnectionString);

所有的例子都表明了这一点,他们只是没有说明这一点,为什么我尝试直接从 DAL 中提取数据不起作用

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

在不使用 EF 的情况下在 appsettings.json 中获取多个连接字符串 的相关文章

  • 在调用控制器的方法之前执行代码?

    是否可以制作一个动作过滤器或运行的东西before动作方法本身在控制器上运行 我需要它在操作运行之前分析请求中的一些值 您可以重写控制器类中的 OnActionExecuting 方法 protected override void OnA
  • 从操作写入输出流

    由于一些奇怪的原因 我想将 HTML 从控制器操作直接写入响应流 我理解MVC分离 但这是一个特例 可以直接写入吗HttpResponse溪流 在这种情况下 哪个IView控制器操作应该返回对象吗 我可以返回 空 吗 我使用了一个派生类Fi
  • 通过向导方法使用内置 ASP.NET MVC 验证

    我正在使用JQuery Steps 插件基本表单示例 http www jquery steps com Examples basic form为了我的巫师 在此示例中 您会注意到他们使用的是 JQuery Validate 插件 该插件与
  • 有没有办法将所有内容都包含在 dbcontext 中?

    当查询一个DbContext急切加载时 需要Include Navigation 为了填充导航属性 然而 在某些情况下 我想简单地Include all实体的导航属性 有没有办法做到这一点 或者有办法做到这一点 我假设你可以反思 但我宁愿避
  • ASP.NET MVC 中的访问控制取决于输入参数/服务层?

    序言 这是一个有点哲学问题 我更多地寻找 正确 的方法来做到这一点 而不是 一种 的方法来做到这一点 假设我有一些产品 以及一个在这些产品上执行 CRUD 的 ASP NET MVC 应用程序 mysite example products
  • Bool类型返回规则

    我使用 dapper ORM 所以我使用两个规则Query
  • 我应该为每个 Web 请求使用静态缓存的 ResourceManager 还是一个新实例?有关系吗?

    创建新的 NET 对性能 或其他 有何影响 如果有 ResourceManager根据每个请求new ResourceManger myResourceType FullName myResourceType Assembly 与在 Des
  • Azure Active Directory 不会使用 ASP.NET Core 2.1 MVC 注销

    我有一个 ASP NET Core 2 1 MVC 应用程序 我正在尝试使用 Azure AD 进行身份验证 该应用程序重定向到 Microsoft 登录页面 但当我注销然后返回到应用程序的主页时 它会自动重新登录 我试过打电话https
  • 如何在 MVC5 中创建两种类型的用户?

    我正在创建 MVC5 应用程序 并且已经在使用 ASP NET Identity 来创建用户 因此 我已经有了 AspNetUsers 表 每当用户注册时 我都会在那里获得一个条目 我还有一个管理员角色 我可以手动指定哪个注册用户是管理员
  • MVC 中的 HttpPost 与 HttpGet 属性:为什么使用 HttpPost?

    所以我们有 HttpPost 这是一个可选属性 我知道这会限制调用 因此只能通过 HTTP POST 请求进行调用 我的问题是我为什么要这样做 想象一下以下情况 HttpGet public ActionResult Edit int id
  • 从基本控制器继承 LINQ-to-SQL 数据上下文

    我的基本控制器类 BaseController 由面向公众的控制器继承 用于使用 LINQ to SQL 访问请求之间的共享数据上下文 我是否可以通过将数据存储在中来以高效且安全的方式访问我的数据上下文HttpContext Current
  • MVC5 身份验证中“...与主域之间的信任关系失败”

    我有一个 ASP NET MVC5 应用程序not使用 Windows 身份验证 一切都工作正常 直到我尝试在正在开发的域之外运行应用程序并且 无论出于何种原因 得到 The trust relationship between this
  • 需要帮助理解这段代码

    我正在尝试学习单元测试 我正在尝试对我在 asp net mvc 1 0 中制作的一些会员资格内容进行单元测试 我一直在关注一本关于 MVC 的书 我对一些东西感到困惑 希望有人能为我解答 我的框架使用 Nunit 和 Moq 问题一 pu
  • 如何设置环境名称(IHostingEnvironment.EnvironmentName)?

    默认 ASP NET Core Web 项目包含以下行Startup cs if string Equals env EnvironmentName Development StringComparison OrdinalIgnoreCas
  • 如何在单击 Html.ActionLink 时加载部分视图?

    有人可以告诉我如何加载吗PartialView单击时在同一页面中Html ActionLink 我在下面列出了我的要求 我有一个索引页面 它将列出 员工 表中的员工 表中的每一行还将有 编辑和删除 链接 Html ActionLink 来更
  • HttpContext 中需要什么才能允许 FormsAuthentication.SignOut() 执行?

    我正在尝试为我们的注销方法编写一个单元测试 除其他外 它FormsAuthentication SignOut 然而 它抛出一个System NullReferenceException 我创建了一个模拟 HttpContext 使用起订量
  • EF Core - 可能会导致循环或多个级联路径

    我已经设置了一个我认为非常简单的数据库 但是我收到以下错误 在表 User 上引入 FOREIGN KEY 约束 FK User Suburb SuburbId 可能会导致循环或多个级联路径 指定 ON DELETE NO ACTION 或
  • 使用默认行为将模型绑定到接口

    我正在尝试将控制器操作绑定到接口 但仍保持默认的绑定行为 public class CoolClass ISomeInterface public DoSomething get set ISomeInterface public clas
  • Kendo Grid 内联编辑中的多选列表

    我需要在剑道网格 内联编辑 中使用多选列表 以便用户可以从每行列表中选择多个值 以下是我的要求 显示时 剑道网格应显示所有选定值的逗号分隔列表 添加时 剑道网格应显示多选列表并允许选择多个值 编辑时 剑道网格应显示具有已选择值的多选列表 用
  • PartialView Action 正在调用自身

    我有 MVC 应用程序 它用于从主视图 ProductMaster 将 ProductAreaGrid 列表显示为 PartialView 并且它将在局部视图内将 CreateProductArea 作为 PartialView 我的 Gr

随机推荐

  • UICollectionViewLayoutlayoutAttributesForElementsInRect和layoutAttributesForItemAtIndexPath

    我正在实现自定义流程布局 它有两种主要方法来覆盖以确定单元格的位置 layoutAttributesForElementsInRect and layoutAttributesForItemAtIndexPath 在我的代码中 layout
  • 如何将单行与sql中列中的数字相乘

    就我而言 有订单和订单头寸 每个订单位置都有一个数量 例如 但现在我需要每个 位置元素 一行 这是我想要的输出 我的想法是使用rank over 获得增量数 但我不知道如何使用该数量作为乘数 是否有一个聪明的解决方案来使用单列作为 行乘法器
  • 删除变量上的重复项而不进行排序

    我有一个变量 其中包含以下空格分隔的条目 variable apple lemon papaya avocado lemon grapes papaya apple avocado mango banana 如何在不排序的情况下删除重复项
  • Python 行尾正则表达式

    我正在尝试编写一个正则表达式 在点之前和之后添加一个空格 但是 我只希望在点后有空格或行尾时出现此情况 但是 对于行尾情况 我无法这样做 Eg I want a hotel gt gt I want a hotel my email is
  • 如何在iPhone上播放MIDI?

    据我所知 没有本地或第三方库可用于在 iPhone 上播放 MIDI 但似乎有不少应用程序可以做到这一点 他们用什么 有什么线索吗 供那些走这条路的人参考 AVMIDIPlayer 是在 iOS 8 中引入的 似乎在设备上运行良好 但 si
  • C++ JSON 序列化

    我想要一种尽可能自动地将对象序列化和反序列化为 JSON 的方法 连载 对我来说 理想的方法是 如果我调用实例 JSONSerialize 它会返回一个带有 JSON 对象的字符串 该对象具有该对象的所有公共属性 name of prope
  • 如何从段落 python docx 中获取图像(inlineshape)

    我想逐段阅读docx文档 如果有图片 InlineShape 则用它周围的文本处理它 函数 Document inline shapes 将给出文档中所有内联形状的列表 但我想得到一个 如果存在的话 恰好出现在当前段落中 代码示例 from
  • Eclipse 中模板的 Django 标签

    我想知道是否可以在 Eclipse IDE 中为基于 Django 的模板提供自动完成 自动格式化和这些漂亮的功能 主要是为了这些事情 提前致谢 检查此页面以获取 Django Eclipse 插件 http eclipse kacprza
  • 如何使用 Java IO 读取 Windows NTFS 备用数据流?

    我试图让我的 Java 应用程序读取给定路径中的所有数据 文件 目录 元数据等 这还包括 NTFS 称为备用数据流 ADS 的一个奇怪的东西 显然 它就像目录或文件中的第二层数据 您可以打开命令提示符并使用 在ADS中创建文件 例如 C A
  • 如何在eclipse中显示日语字符[重复]

    这个问题在这里已经有答案了 我使用 eclipse Juno 作为 Java IDE 并且在我的 java 代码中注释和日志记录语句都是日语的 eclipse 显示垃圾字符而不是正确的日语字符 我跟着这个帖子解决该问题并在 eclipse
  • 在 Xcode 5 上使用 Boost - Apple LLVM 5.0

    由于只有一个编译器 LLVM 5 0 我在构建 Xcode 5 的 Boost 时遇到了问题 我尝试过使用 c 11 使用 clang 来使用 Homebrew 我尝试过各种想法和脚本 但到目前为止没有一个有效 要为使用 clang llv
  • 在 Django Rest Framework 选项请求中显示过滤器和排序

    我正在使用 Django Rest Framework 我注意到 API 的 Web 可浏览部分有一个名为 选项 的按钮 单击它会显示以下内容 HTTP 200 OK Vary Accept Content Type text html A
  • ASP.NET MVC 4 缩小和背景图像

    我目前正在使用 ASP NET MVC 4 CSS JavaScript 优化器 它与我自己的 CSS JavaScript 配合得很好 但我也想将它与插件一起使用 每个插件都有自己的文件夹 Content css my own css o
  • 上个月的最后一天 - BigQuery

    我正在尝试选择其中时间戳字段 recdate 的日期值高达并包含该月最后完成日期的行 例如 由于现在是 2016 年 7 月 我希望所有行的日期值在 2016 年 6 月 31 日 含 之前 这曾经在 T SQL 中工作得很好 我会使用以下
  • 无法连接到 mySQL 数据库

    所以我在使用 Java 连接 MySQL 时遇到问题 这是我的代码 import java sql Connection import java sql DriverManager import java sql SQLException
  • JQuery 延迟立即拒绝

    使用JQuery Deferred时可以直接调用reject 吗 没有调用异步函数 也许我想在异步函数的开头进行某种测试 如果测试失败我想立即拒绝 请参阅下面的第一个 if 块 function doSomethingAsync Test
  • 用于选择的 Angular 2 RouterLink

    我想使用页面上的选择元素创建导航 在锚标记上使用 RouterLink 指令很简单 但是选择下拉菜单是否有等效的指令 或者我是否需要在我的组件上创建自己的导航方法 以便在我的选择发生更改时调用 a Location a
  • 计时器刻度不增加时间间隔的值

    我想增加计时器滴答事件的值 但它没有增加 不知道我忘记了什么 它只显示1
  • 异步任务“堵塞”

    最近 我开始尝试大规模抓取网站以进行存档 我认为让多个 Web 请求异步工作以加快速度是一个好主意 10 000 000 个页面绝对需要存档 因此我冒险进入并行性的严厉女主人 三分钟后我开始想知道为什么我正在创建的任务 通过Task Fac
  • 在不使用 EF 的情况下在 appsettings.json 中获取多个连接字符串

    刚刚通过迁移我开发的当前 MVC Net 应用程序开始使用 Net Core RC2 在我看来 由于 appsettings json 处理配置的方式 如果我有多个连接字符串 我要么必须使用 EF 来检索连接字符串 要么必须创建为每个连接字