F#类型提供程序的类型定义通常需要一个常量表达式,例如SQL类型提供程序:
type dbSchema = SqlDataConnection<"Data Source=MySqlServer;Initial Catalog=MyDatabase;">
然而,当提交代码到版本控制系统中,并且使用构建服务器进行构建时,可能不想使用相同的连接字符串,而是从构建过程生成的SQL Server数据库的连接字符串。
这个问题有解决方案吗?
如果能够实现这一点,那将非常好,因为它将为数据库访问代码提供编译时检查。
更新 @tomaspetricek提出的解决方案非常好,但我必须在连接字符串中添加提供程序名称:
<add name="DbConnectionString" providerName="System.Data.SqlClient" connectionString="Data Source=MySqlServer;Initial Catalog=MyDatabase;"/>