F# 使用本地架构文件配置的SqlEntityConnection

F# 使用本地架构文件配置的SqlEntityConnection,f#,type-providers,entityconnection,F#,Type Providers,Entityconnection,我想使用f#中的SqlEntityConnection类型提供程序来查询和更新数据库。 当我将它与指向实时SQL Server数据库的连接字符串一起使用时,它工作得很好 type EntityConnection = SqlEntityConnection<"Data Source=myServer;Initial Catalog=myDb;...", Pluralize=true> type EntityConnection=SqlEntityConnection 现在我想摆脱

我想使用f#中的SqlEntityConnection类型提供程序来查询和更新数据库。
当我将它与指向实时SQL Server数据库的连接字符串一起使用时,它工作得很好

type EntityConnection = SqlEntityConnection<"Data Source=myServer;Initial Catalog=myDb;...", Pluralize=true>
type EntityConnection=SqlEntityConnection
现在我想摆脱对live DB的依赖,而是使用本地模式文件。根据我读到的内容,我尝试了以下几行:

type private EntityConnection = SqlEntityConnection<LocalSchemaFile="mySchemaFile.ssdl", Pluralize=true>
type private EntityConnection=SqlEntityConnection
不幸的是,它没有编译,编译器的消息是:

错误46类型提供程序“Microsoft.FSharp.Data.TypeProviders.DesignTime.DataProviders”报告了一个错误:使用此提供程序时,必须指定连接字符串或连接字符串名称。要指定连接字符串,请使用SqlEntityConnection


那我该怎么办?如果我离开连接字符串,我会觉得我没有真正关闭对DB的依赖。例如,如果我尝试将数据源切换到不存在的服务器,它就不会编译

您可以在配置文件中提供连接字符串名称和连接字符串。 您仍然可以提供一个localschemafile,用于本地缓存架构

如果将架构文件置于源代码管理下,则连接字符串仅在不带参数调用
GetDataContext()
时用作默认值,而在生成或编辑代码时不用作默认值

您还需要将参数ForceUpdate设置为False