我正在尝试以某种方式将 F# 与现有的 Postgresql 数据库连接起来,使我能够在开发过程中利用数据库类型(通过类型提供程序或实体框架,或它们的组合)。
使用Npgsql可以直接进行原始连接。例如,以下代码段使用 F# 打印 Postgres 表的内容。
open Npgsql
let connectionString = "(my postgres connection string)"
let getResultSet (connection:NpgsqlConnection) (queryString:string) =
let command = new NpgsqlCommand(queryString, connection)
let dataReader = command.ExecuteReader()
seq {
while dataReader.Read() do
yield [for i in [0..dataReader.FieldCount-1] -> dataReader.[i]]
}
let printResults =
let conn = new NpgsqlConnection(connectionString)
conn.Open()
try
let resultSet = getResultSet conn "select * from myTable;"
for r in resultSet do
for d in r do
printf "%s\t" (d.ToString())
printfn ""
finally
conn.Close()
在 F# 上使用带有 Postgresql 的实体框架来获取此设置的类型提供程序或启用的最佳方法是什么?