使用 F# 脚本中的 app.config
Using app.config from F# Script
我在这里看到了几个关于堆栈溢出的相关问题,但是 none 似乎有答案。我将提出问题,然后包含指向我发现的相关 SO 问题的链接。
我有一个用 C# 编写的核心域库,它利用了 Entity Framework。因此,EF 需要 dbcontext 将连接字符串传递给基础 (dbcontext)。在我的例子中,连接字符串位于 app.config(或 web.config)中,当然取决于顶级项目,名称是 "AnnotatorModel".
我需要从我的 F# 脚本中实例化 DBContext 以测试一些查询和分析。
我已将其添加到我的 F# 项目中的 app.config 并尝试了一些关于 SO 的答案但没有成功。有没有人知道一个简单直接的方法来完成这个?
这是代码,意识到它在尝试实例化 dbcontext AnnotatorModel 时中断。
let PredictBestEntities (number:int) (tokens:string seq) =
let db = new AnnotatorModel()
tokens
|> Seq.map ...etc etc
谢谢,
~大卫
相关问题:
App.config and F# Interactive not working
这不是你要问的,但我还是会添加这个答案:
向 AnnotatorModel
添加构造函数重载,使您能够传递连接字符串。这将使您能够编写:
let db = new AnnotatorModel("some connection string")
完全依赖 app.config 中的连接字符串将库与单一配置源紧密耦合 。这不是好的图书馆设计。您不仅在使用 FSI 时遇到问题,而且还很难在 运行 时更改 'configuration values',从数据库而不是文件加载它们,等等
库不应耦合到 app.config。只有应用程序应该使用 app.config.
我在这里看到了几个关于堆栈溢出的相关问题,但是 none 似乎有答案。我将提出问题,然后包含指向我发现的相关 SO 问题的链接。
我有一个用 C# 编写的核心域库,它利用了 Entity Framework。因此,EF 需要 dbcontext 将连接字符串传递给基础 (dbcontext)。在我的例子中,连接字符串位于 app.config(或 web.config)中,当然取决于顶级项目,名称是 "AnnotatorModel".
我需要从我的 F# 脚本中实例化 DBContext 以测试一些查询和分析。
我已将其添加到我的 F# 项目中的 app.config 并尝试了一些关于 SO 的答案但没有成功。有没有人知道一个简单直接的方法来完成这个?
这是代码,意识到它在尝试实例化 dbcontext AnnotatorModel 时中断。
let PredictBestEntities (number:int) (tokens:string seq) =
let db = new AnnotatorModel()
tokens
|> Seq.map ...etc etc
谢谢, ~大卫
相关问题:
App.config and F# Interactive not working
这不是你要问的,但我还是会添加这个答案:
向 AnnotatorModel
添加构造函数重载,使您能够传递连接字符串。这将使您能够编写:
let db = new AnnotatorModel("some connection string")
完全依赖 app.config 中的连接字符串将库与单一配置源紧密耦合 。这不是好的图书馆设计。您不仅在使用 FSI 时遇到问题,而且还很难在 运行 时更改 'configuration values',从数据库而不是文件加载它们,等等
库不应耦合到 app.config。只有应用程序应该使用 app.config.