Evr*_*ren 7 f# fsharp.sqlclient
我正在使用SqlCommandProvider,我需要为id集合中的每个id获取一些数据
let ids=["B058A99-C4B2-4CC3-BA9F-034B1F1ECCBD";"A09C01C-D51B-41C1-B44C-0995DD285088"]
[<Literal>]
let qLogo ="""SELECT Id,LogoUrl FROM Hotels WHERE Id IN (@IDS)"""
let queryLogo = new SqlCommandProvider<qLogo,constring>()
queryLogo .Execute(ids)//i need to be able to pass a collection here
Run Code Online (Sandbox Code Playgroud)
`
长话短说,SqlCommandProvider甚至不是执行此操作的正确类型提供程序(假设您不考虑字符串连接来构建查询)。原因是 SQL Server 仅通过调用存储过程并传递表值参数来接受数组参数。
因此,要调用存储过程,您需要一个SqlProgrammabilityProvider来实现此目的。但是您必须预先创建表类型和存储过程,如类型提供程序文档中所述(向下滚动到“表值参数 (TVP)”部分)。
相关讨论:如何在fsharp.data.sqlclient中使用SQL IN语句?
| 归档时间: |
|
| 查看次数: |
262 次 |
| 最近记录: |