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

时间:2012-05-09 22:00:32

标签: linq-to-sql f# f#-3.0 dataprovider

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

我尝试过以下测试:

let mutable connString = @"Data Source=PCSQLEXPRESS;Initial Catalog=NortwindDB;Integrated Security=True"
type SqlConnection = SqlDataConnection<ConnectionString = connString>

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

由于

3 个答案:

答案 0 :(得分:14)

类型提供程序本身需要一个硬编码的连接字符串,用于生成在编译时进行开发的类型(在您的情况下为SqlConnection),但是,您可以配置在运行时使用的实际连接字符串,如下所示:

type SqlConnection = SqlDataConnection<"Data Source=PCSQLEXPRESS;Initial Catalog=NortwindDB;Integrated Security=True">
let runtimeConnStr = ...
type dataContext = SqlConnection.GetDataContext(runtimeConnStr)

答案 1 :(得分:3)

使用“?ConnectionStringName”参数可以找到你想要的地方。

http://msdn.microsoft.com/en-us/library/hh362320(v=VS.110).aspx

答案 2 :(得分:0)

您可能还想查看以下问题,该问题在答案中有解决方案 F# Type Providers and Continuous Integration