我的模式中有这样的内容:
f_gain_factor_notional FLOAT8 NOT NULL,
f_profits FLOAT8 [] NOT NULL,
f_fees FLOAT8 [] NOT NULL,
如何使用npgsql写入FLOAT8 []类型?
似乎没有内置类型的Sql.doubleArray或任何类似的。我看到了Sql.stringArray,Sql.intArray等。
如何处理这件事?
编辑:这些是可用的类型
编辑:下面是一些代码:
let queryInsert =
$"
-- insert row
... skipped for brevity
",
[[
"@f_gain_factor_notional", Sql.double (float results.FixedResults.GainFactorNotional)
"@f_profits", Sql.stringArray (results.FixedResults.Profits |> List.map string |> List.toArray)
"@f_fees", Sql.stringArray (results.FixedResults.Fees |> List.map string |> List.toArray)
"@f_margin", Sql.stringArray (results.FixedResults.Margin |> List.map string |> List.toArray)
"@f_relative_drawdown", Sql.double (float results.FixedResults.RelativeDrawdown)
"@f_absolute_drawdown", Sql.double (float results.FixedResults.AbsoluteDrawdown)
"@f_realized_profit",
...
这是F#代码,但问题与C#相同:
我必须将dotnet类型转换为npgsql类型。
所以,对于一个字符串,我可以:
Sql.string "yo"
对于字符串数组,我可以:
Sql.stringArray [| "hello"; "world |]
为了双列,我..。做不到,因为Sql.doubleArray不存在。Sql.intArray存在,但不存在双重/浮点数/十进制。
发布于 2022-08-07 22:54:39
Npgsql将常规.NET数组映射为PostgreSQL数组类型,因此您应该能够简单地使用.NET double[]
来映射PG float8[]
。
https://stackoverflow.com/questions/73267877
复制相似问题