应该如何将 F# SqlDataConnection TypeProvider 与 App.Config 文件一起使用?

2024-03-12

我正在使用类型表达式:

type dbSchema = SqlDataConnection<ConnectionStringName="X1", ConfigFile="App.config">

这在编译时效果很好(我可以完全访问所有数据库类型),但在运行时失败。我认为这是因为控制台应用程序中生成的配置文件bin目录被命名为其他名称,例如MyAppName.exe.config,因此App.config未找到文件。

当然,对于一个ASP.NET MVC类型应用程序使用web.config,没有问题,因为编译和运行时配置文件名是相同的。

幸运的是,放置了一个副本App.config in the bin目录确实解决了问题,但这就是我们应该做的吗?有什么想法吗?


关于类型提供程序定义如何工作的描述具有误导性 - typedef 中的值实际上只在代码/编译时重要,并且作为运行时的默认值。但是,正如您所指出的,在运行时查找正确的配置文件并不是很明智。

您可以通过将连接字符串作为参数传递给 GetDataContext 来完成您想要的操作:

type dbSchema = SqlDataConnection<ConnectionStringName="X2">
let db = dbSchema.GetDataContext(ConfigurationManager.ConnectionStrings.["X2"].ConnectionString)

...或者如果您还想让它在 F# 交互式中工作,请像这样包装它:

type dbSchema = SqlDataConnection<ConnectionStringName="X2">
#if COMPILED
let db = dbSchema.GetDataContext(ConfigurationManager.ConnectionStrings.["X2"].ConnectionString)
#else
let db = dbSchema.GetDataContext()
#endif

(请注意,您将需要对 System.Configuration 的引用。)

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

应该如何将 F# SqlDataConnection TypeProvider 与 App.Config 文件一起使用? 的相关文章

  • 平台调用 F# 回调函数

    我在 Raspberry Pi 2 ARM 7 和单声道 上使用 F 我目前正在尝试使用用 C 编写的 WiringPi 库 我已经成功地使用 P Invoke 来使用一些函数 现在我尝试使用中断 参见http wiringpi com r
  • .NET 4 自旋锁

    以下测试代码 F 未返回我期望的结果 let safeCount let n 1000000 let counter ref 0 let spinlock ref lt SpinLock false let run i0 i1 for i
  • 没有带有常量“模板参数”的 F# 泛型?

    我突然想到 F 泛型似乎不接受常量值作为 模板参数 假设有人想创建一种类型RangedInt这样 它的行为类似于 int 但保证只包含整数值的子范围 一种可能的方法是建立受歧视的工会 类似于 type RangedInt Valid of
  • 定义具有多种消息类型的消息传递域

    到目前为止 我见过的大多数 F 消息传递示例都使用 2 4 种消息类型 并且能够利用模式匹配将每条消息定向到其正确的处理函数 对于我的应用程序 由于处理和所需参数的不同性质 我需要数百种独特的消息类型 到目前为止 每个消息类型都是其自己的记
  • 如何从 App.Config 文件设置 CultureInfo.CurrentCulture?

    我需要通过 App Config 文件设置应用程序的区域性 以便自动使用 pt BR 来解析日期 而无需手动告知每个操作的区域性 据我所知 有一个globalization可以在内部定义的部分system webWeb Config 文件中
  • 从通过单元测试项目调用的类库访问 App.Config 设置

    我有以下设置 ASP net 3 5 网站项目 具有业务逻辑的 C 类库 用于单元测试的 C 类库 业务逻辑库完成所有数据库访问 它通过访问 System Configuration ConfigurationManager Connect
  • F#、FParsec 和递归调用流解析器(第二次)

    感谢您的回复我的第一篇文章 https stackoverflow com questions 26853718 f fparsec and calling a stream parser recursively and 我的第二篇文章 h
  • 在 F# 中实现返回 Task 的 C# 方法

    我正在 F 中创建一个类型 该类型继承自 C 类 该类公开返回的方法Task
  • 如何更改 Rx Builder 实现来修复堆栈溢出异常?

    我正在尝试提出一个 Rx Builder 以在 F 计算表达式语法中使用反应式扩展 我该如何修复它 以免堆栈崩溃 就像下面的 Seq 例子一样 是否有计划提供 RxBuilder 的实现作为响应式扩展的一部分或作为 NET Framewor
  • 在 Blazor 中显示计时器

    我正在尝试在服务器端 Blazor 应用程序中显示倒计时器 我的代码同时使用 F 和 C 语言 该代码在某种程度上可以工作 但计时器永远不会按预期停止 并且计时器显示偶尔不会呈现所有数字 这是我第一次尝试 Blazor 服务器端应用程序 我
  • App.config 连接字符串相对路径

    我需要在 app config 中设置 sqlite 连接字符串 我想设置相对于调试 发布文件夹的路径 数据库文件将复制到这些文件夹
  • Async.TryCancelled 不适用于 Async.RunSynchronously

    我尝试创建一个根据用户交互更新 UI 的代理 如果用户单击按钮 则应刷新 GUI 模型的准备需要很长时间 因此希望如果用户单击其他按钮 则取消准备并开始新的准备 到目前为止我所拥有的 open System Threading type p
  • 如何判断 F# 函数是否是纯函数?

    假设我有这两个 F 函数 let sq x x x let tm DateTime Now 显然 sq 是纯的 因为它对于给定的输入总是返回相同的值 而 tm 是不纯的 因为每次调用它时都会返回不同的值 一般来说 有没有一种方法可以确定 F
  • 我缺少什么:可以使用多个参数进行函数组合吗?

    我了解 F 中函数组合的基础知识 例如所述here http blogs msdn com b chrsmith archive 2008 06 14 function composition aspx 不过 也许我错过了一些东西 这 gt
  • 如何解决“程序主模块为空:运行时不会发生任何事情”

    我在 F 解决方案中有两个项目 1 主要项目有 EntryPoint http msdn microsoft com en us library dd402151 aspx并设置为启动项目 2 support 第二个项目 拥有一组支持模块
  • F# 2010 Seq.generate_using

    Visual Studio 2010 中的 Seq generate using 是否有替代 解决方法 FSharp PowerPack dll 不适用于 2010 AFAIK 很抱歉 2010 年的 PowerPack 尚未上市 我不记得
  • Azure 角色配置管理

    当您别无选择只能在 web config 或 app config 中保存配置设置时 我不明白 Windows Azure 如何让您改变应用程序的配置 例如 项目经常会使用大量使用 web config 的第三方库 web config 的
  • ProjectCracker 与 .netstandard 2.0 项目

    我的团队最近从使用 net 框架转向使用 net 标准 2 0 作为我们的 F 库 我们有一些在项目上运行的内部脚本来自动生成 Markdown 文档 这些脚本使用 F 编译器服务 SDK 来分析代码并检索类型元数据 文档注释等 我们正在使
  • F# 对于 OO 或命令式来说缺少什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Async.StartChild是否存在内存泄漏?

    当我运行以下测试 使用 F 2 0 构建 时 我得到 OutOfMemoryException 在我的系统上大约需要 5 分钟才能达到异常 如果它作为 x86 进程运行 则为 i7 920 6gb ram 但无论如何我们都可以在任务管理器中

随机推荐

  • 检查 Flask 中 Jinja2 内的变量类型

    我创建的模板文件包含以下内容 if type a 1 b 2 is dict print Oh Yes else print Oh No endif 然后 Jinja2 回应说 TemplateAssertionError no test
  • 是否可以使用Go编译器为其他操作系统分发可执行文件?

    我目前正在Mac OS X上工作 现在我需要构建一个 exe文件 以便Go程序可以在Windows上运行 那么问题来了 如何在 MacOS amd64 下构建 Win X86 的可执行文件 或者不可能这样做吗 如果你不使用 CGo 而使用纯
  • 使用或不使用 C++0x 功能 [重复]

    这个问题在这里已经有答案了 可能的重复 您今天使用 C 0x 的情况如何 https stackoverflow com questions 1754397 how are you using c0x today 我正在与一个团队合作开发一
  • Websocket Java 服务器。不发送消息也不接收消息

    我正在尝试制作一个 Java WebSocket 服务器 没有什么真正复杂的 只是一个丑陋的小服务器 用于使用标准定义的 api 从浏览器尝试 websocket 我一直在阅读协议的规范 它非常简单 我已经握手了 显然它正在起作用 我用Ja
  • 附加分配给特定分区的 KafaConsumer

    如何将 python 消费者脚本附加到特定的 kafka 分区 在运行消费者脚本的两个实例 如下所示 时 每个实例都会随机选择一个分区 然后按预期消费 打印该特定分区的所有消息 但由于我需要将这些消息输出到磁盘上名为本地文件的分区 因此将脚
  • 用于存储数百万张图像的文件夹结构?

    我正在构建一个网站 该网站正在查看轻松上传的数百万张照片 每个上传的图像都有 3 个缩略图 我需要找到存储所有这些图像的最佳方法 我搜索并找到了存储为哈希的图像示例 例如 如果我上传 coolparty jpg 我的脚本会将其转换为 Md5
  • 数据仓库模型:集线器有什么用?

    我刚刚读到数据仓库建模 https en wikipedia org wiki Data vault modeling据我了解 集线器仅包含密钥 和记录源 所以我想知道为什么我应该创建这些中心表 只是为了存储记录源 仅拥有卫星和链接还不够吗
  • NSValueTranformer 用于加密数据

    我想在 NSValueTransformer 的帮助下加密一些核心数据列 我的想法是 我使用数据类型可转换并为我的数据类型定义一些转换器 在转换方法中 我想加密 解密该值 我定义了一个实际上什么都不做的变压器 加密的东西目前还没有实现 im
  • ReportViewer 到 div/image/object 内的 PDF

    这几天一直在寻找 但没能找到我要找的东西 希望我没有错过 我有一个 ASP NET 4 0 站点 我正在将其放在一起以检索工资信息 目前我正在使用reportviewer 但由于跨浏览器支持 它不能100 工作 我已经将其设置为自动将 RV
  • Symfony2 形成没有实体的验证器组

    我正在使用 Symfony2 表单组件来构建和验证表单 现在我需要根据单个字段值设置验证器组 不幸的是 似乎每个示例都基于实体 由于多种原因 我没有使用实体 例子 如果任务为空 则应删除所有约束验证器 但如果不是 则应使用默认的验证器集 或
  • 使用 spring RestTemplate 来自 Android 的 PUT 请求

    我必须通过 Restful 服务 Net 将客户对象从 Android 客户端放入数据库 服务合同 WebInvoke Method PUT UriTemplate customers customerId RequestFormat We
  • 我可以将同一个 Firebase 用于两个不同的应用吗?

    我想为两个应用程序使用相同的 Firebase 在这两个应用程序中 用户应该能够通过 Google Facebook 或电子邮件登录 但在我的 Firebase 仪表板的 登录和身份验证 部分中 我只能添加一个 Facebook 应用程序
  • 用不同的方式从列表中删除重复项

    我有一个名为employee的类 它是pojo 并且我创建了该pojo类型的employee类型的列表 现在我想从列表中删除重复项 请告知实现这一目标的各种方法是什么 class Emp implements Comparable Stri
  • 无法在经典 asp 中写入文件

    好吧 自从我使用经典的 asp 以来已经有一段时间了 所以我有点生疏了 这是我的问题 我正在尝试使用 FSO 将文件写入文件系统 下面的代码非常简单 但是 该文件没有出现 也没有出现错误 我知道它正在运行代码 因为我可以在此片段之前和之后添
  • 无法打开源文件:“WIN32”:没有这样的文件或目录

    在 VS2008 中构建 C 项目时出现此错误 很困惑这是什么意思 为什么它认为WIN32是一个文件 Go to Project gt 特性 gt C C gt 命令行 你很可能有一个 I 在你之前 D WIN32 由于某种原因 空的 in
  • 在 Typescript 上获取插件函数

    我正在尝试在打字稿文件上使用一些科尔多瓦插件功能 但我无法构建该文件 想象一下 我想要访问设备平台和型号 有人可以帮我弄这个吗 我应该为插件的 js 文件上的每个函数创建接口吗 提前致谢 对此已有定义 https github com bo
  • 在 Dart 中克​​隆列表、映射或集

    来自 Java 背景 克隆 Dart 的推荐方法是什么List Map and Set Use of clone in Java is tricky and questionable1 2 Effectively clone is a co
  • 检测多列中的关键词并在新列中标记它们

    我有这种类型的数据 set seed 123 df lt data frame v1 sample LETTERS 1 10 5 v2 sample LETTERS 1 10 5 v3 sample LETTERS 1 10 5 v4 sa
  • Vite 构建命令挂在“模块已转换”处。在Vue 3.3.4、Vite 4.3.8环境下

    您好 我目前正在使用 Vue 3 3 4 Vuetify 3 2 5 和 Vite 4 3 8 开发一个项目 当我运行 vite build 命令时 该过程似乎挂起并且未完成 最后的输出我看到的是 679 modules transform
  • 应该如何将 F# SqlDataConnection TypeProvider 与 App.Config 文件一起使用?

    我正在使用类型表达式 type dbSchema SqlDataConnection