gpt4 book ai didi

f# - 如何在命令文本中将参数指定为集合

转载 作者:行者123 更新时间:2023-12-03 10:05:05 24 4
gpt4 key购买 nike

我正在使用 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

`

最佳答案

长话短说,SqlCommandProvider甚至不是正确的类型提供程序来执行此操作(假设您不考虑字符串连接来构建查询)。原因是 SQL Server 只通过调用存储过程和传递表值参数来接受数组参数。

因此,要调用存储过程,您需要一个 SqlProgrammabilityProvider为达到这个。但是您必须预先创建表类型和存储过程,如类型 provider documentation 中所述。 (向下滚动到“表值参数(TVP)”部分)。

相关讨论:How to use SQL IN statement in fsharp.data.sqlclient?

关于f# - 如何在命令文本中将参数指定为集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35127088/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com