У меня есть следующий пример кода. Цель состоит в том, чтобы запустить инструкцию SQL с несколькими входными параметрами.
[<Literal>]
let connectionString = @"Data Source=Localhost;Initial Catalog=Instrument;Integrated Security=True"
[<Literal>]
let query = "SELECT MacroName, MacroCode FROM Instrument WHERE MacroCode IN (@codeName)"
type MacroQuery = SqlCommandProvider<query, connectionString>
let cmd = new MacroQuery()
let res = cmd.AsyncExecute(codeName= [|"CPI";"GDP"|]) |> Async.RunSynchronously
Однако, codeName выводится как строковый тип вместо массива или списка и дает мне ошибку.
В качестве альтернативы я мог бы выполнить запрос без выражения оператора и фильтра на основе результата. Однако во многих других случаях, которые возвращают миллионы строк, я бы предпочел, чтобы данные фильтра на уровне SQL-сервера были более эффективными.
Я не нашел соответствующих образцов в документации fsharp.data.sqlclient. Пожалуйста, помогите!