F#での大ドットネットクエリ

dapper f#

質問

私は単純なSQLiteクエリを実行するためにF#でDapperドットネットを使用しようとしています。 Dapperは動的オブジェクトのコレクションを返します。C#でそれらを使用するのは簡単ですが、F#にはアウトオブボックスの動的プロパティ参照の実装がないことがわかっています。

これはうまくいっていますが、反射に頼ることなくこれを行うより良い方法があると思います。

let (?) x prop =
    let flags = BindingFlags.GetProperty ||| BindingFlags.InvokeMethod
    x.GetType().InvokeMember(prop, flags, null, x, [||])

let doQuery () =
    //...
    let conn = new SQLiteConnection (connString)
    conn.Open ()

    conn.Query("select first_name from customers")
        |> Seq.map (fun c -> c ? first_name)
        |> List.ofSeq

何を実装するための最良の方法は?この場合の演算子?

受け入れられた回答

このスレッドはあなたの問題のためのいくつかの解決策から成っています。特に、 FSharp.Interop.DynamicはNuGetで利用でき、すぐに使用できます。



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow