1

F# を既存の Postgresql データベースに接続して、開発中にデータベースの種類を利用できるようにしようとしています (Type Providers または Entity Framework、またはそれらの組み合わせを介して)。

生の接続は、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 で Entity Framework を使用できるようにする最善の方法は何ですか?

4

1 に答える 1

2

SqlEntityConnectionNpgsql は ADO.NET プロバイダーであるため、エンティティ フレームワーク DBML ファイルでタイプ プロバイダーを使用できるはずです。

詳細については、http: //msdn.microsoft.com/en-us/library/hh362322.aspxを参照してください。

于 2013-05-31T19:45:12.783 に答える