F# 具有用户定义表类型的FSharp.Data.SqlClient类型提供程序

F# 具有用户定义表类型的FSharp.Data.SqlClient类型提供程序,f#,type-providers,F#,Type Providers,我正在使用FSharp.Data.SqlClient类型提供程序,并在访问具有表值参数的存储过程时不断收到错误 我从文档中逐字地尝试了这个例子 创建类型myTableType作为表(myId int不为null,myName nvarchar(30)null) 去 创建过程myProc @p1 myTableType只读 作为 开始 从@p1 p中选择myName 结束 这应该允许我写以下内容 type myType = AdventureWorks2012.``User-Defined Ta

我正在使用FSharp.Data.SqlClient类型提供程序,并在访问具有表值参数的存储过程时不断收到错误

我从文档中逐字地尝试了这个例子

创建类型myTableType作为表(myId int不为null,myName nvarchar(30)null)
去
创建过程myProc
@p1 myTableType只读
作为
开始
从@p1 p中选择myName
结束
这应该允许我写以下内容

type myType = AdventureWorks2012.``User-Defined Table Types``.MyTableType
但它不会返回用户定义表类型下的任何选项

这使我无法调用任何采用表值参数的存储过程


我正在运行类型提供程序的Microsoft SQL Server Express(64位)12.0.2000.8版和1.6.2版(当前最新版本)

这对我来说很有效(可能文档尚未更新):

[]
让connectionString=@“…我的连接字符串在此…”
类型TableValuedSample=SqlProgrammabilityProvider
类型myType=TableValuedSample.dbo.`User Defined Table Types`.myTableType
设m=[
myType(myId=2,myName=“Mike”)
myType(myId=1,myName=“Pete”)
]
设myArray=
(新TableValuedSample.dbo.myProc()).AsyncExecute(m)//语法差异
|>异步运行
|>A.ofSeq数组
让myRes=myArray。[0]
将myRes与
|一些res->res
|无->“”
结果:

>
val myArray : Option<string> [] = [|Some "Mike"; Some "Pete"|]
val myRes : Option<string> = Some "Mike"
val it : string = "Mike"
>
val myArray:选项[]=[|一些“Mike”;一些“Pete”|]
瓦尔·迈尔斯:选项=一些“迈克”
val-it:string=“迈克”
我正在使用MSSQL 2014和1.6.2提供程序

>
val myArray : Option<string> [] = [|Some "Mike"; Some "Pete"|]
val myRes : Option<string> = Some "Mike"
val it : string = "Mike"