Я пытаюсь использовать сеть точек Dapper в F # для выполнения простого запроса 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
Как лучше всего реализовать? оператор в этом случае?