F#中的小巧點網查詢

dapper f#

我正在嘗試在F#中使用Dapper dot net來執行簡單的SQLite查詢。 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
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因