Consulta neta de puntos elegantes en f#
Pregunta
Estoy tratando de usar Dapper Dot Net en F# para realizar una consulta SQLite simple. Dapper devuelve una colección de objetos dinámicos: usarlos en C# es sencillo, pero de lo que entendí que F# no tiene implementación de búsqueda de propiedad dinámica fuera de la caja.
Esto está funcionando, pero supongo que hay mejores formas de hacerlo sin recurrir a la reflexión:
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
¿Cuál es la mejor manera de implementar el? operador en este caso?
Solución
Este hilo Consiste en varias soluciones para su problema. Especialmente, Fsharp.interop.dynamic está disponible en Nuget y listo para usar.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow