相关疑难解决方法(0)

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

我正在使用类型表达式:

type dbSchema = SqlDataConnection<ConnectionStringName="X1", ConfigFile="App.config">
Run Code Online (Sandbox Code Playgroud)

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

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

幸运的是,App.configbin目录中放置副本确实可以解决问题,但这是我们应该做的吗?有什么想法吗?

f# app-config

12
推荐指数
1
解决办法
749
查看次数

F#类型提供商和持续集成

F#类型提供程序的类型定义通常需要常量表达式,例如对于SQL类型提供程序:

type dbSchema = SqlDataConnection<"Data Source=MySqlServer;Initial Catalog=MyDatabase;">
Run Code Online (Sandbox Code Playgroud)

但是,在将代码提交给SCM并进一步让构建服务器执行其操作时,您可能不希望使用相同的连接字符串,而是使用从构建过程生成的SQL Server数据库的连接字符串.

有这个问题的解决方案吗?

能够完成这项工作真的很棒,因为它可以提供数据库访问代码的编译时检查.

更新 @tomaspetricek提出的解决方案非常有效,但我必须在连接字符串中添加提供程序名称:

<add name="DbConnectionString" providerName="System.Data.SqlClient" connectionString="Data Source=MySqlServer;Initial Catalog=MyDatabase;"/>
Run Code Online (Sandbox Code Playgroud)

continuous-integration f# type-providers

9
推荐指数
1
解决办法
760
查看次数

为Linq-To-Sql数据提供者提供连接字符串

有没有办法从App.Config文件中为F#中的Linq-To-Sql数据提供程序提供连接字符串.

我试过以下只是为了测试:

let mutable connString = @"Data Source=PCSQLEXPRESS;Initial Catalog=NortwindDB;Integrated Security=True"
type SqlConnection = SqlDataConnection<ConnectionString = connString>
Run Code Online (Sandbox Code Playgroud)

但我收到一条错误消息"这不是一个常量表达式或有效的自定义属性值"

谢谢

f# dataprovider linq-to-sql f#-3.0

8
推荐指数
1
解决办法
1423
查看次数