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 por lo que entiendo, F # no tiene una implementación dinámica de búsqueda de propiedades lista para usar.Dapper dot net query en F #
Esto está trabajando pero supongo que hay mejores maneras de hacer esto sin tener que 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 poner en práctica el? operador en este caso?
Parece que este hilo responde a su pregunta: http://stackoverflow.com/questions/6150087/f-dynamic-object-access – pad
@pad Buena respuesta. Deberías haber agregado tu respuesta como respuesta para poder votarla :-) –
@OnorioCatenacci: Lo agrego como respuesta, no estoy seguro de que valga la pena responder :). – pad