冻结FSharp.Data SQL类型

时间:2018-02-18 20:13:07

标签: f# f#-data

我正在享受FSharp.Data.Sql进行测试。但是我有两个问题。根据样本:

type sql =
SqlDataProvider<
    dbVendor,
    connString,
    IndividualsAmount = indivAmount,
    UseOptionTypes = useOptTypes>

a)每次代码发生变化时,编译器都会不断解析类型,使得智能感知有点太慢,并且需要永久的互联网连接。

b)在代码中拥有主机,用户和密码可能对测试和学习很方便,但绝不应该进入生产代码,理想情况下那些是环境可变的,但FSharp数据需要文字。

是否可以冻结类型,以便至少只解析一次,然后在运行时提供连接字符串?

1 个答案:

答案 0 :(得分:1)

对于您的第一个问题,我认为SQLDataProvider是一种删除类型提供商,因此您无法做到这一点。对于其他类型的提供者,有时可以生成一个dll并引用它。

关于数据库性能,可以对其进行调整,但这取决于底层驱动程序,例如Postgres

对于第二个问题,您可以在app.config file中指定连接字符串。

还有其他方法可以访问数据库,例如DapperEF Core