Dapper dot net query dans F #

dapper f#

Question

J'essaie d'utiliser Dapper dot net dans F # pour effectuer une simple requête SQLite. Dapper renvoie une collection d'objets dynamiques: leur utilisation en C # est simple, mais d'après ce que j'ai compris, F # n'a pas d'implémentation de recherche de propriétés dynamique prête à l'emploi.

Cela fonctionne mais je suppose qu'il y a de meilleures façons de le faire sans avoir recours à la réflexion:

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

Quelle est la meilleure façon de mettre en œuvre le? opérateur dans ce cas?

Réponse acceptée

Ce thread se compose de plusieurs solutions pour votre problème. En particulier, FSharp.Interop.Dynamic est disponible sur NuGet et prêt à l'emploi.




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi