Я пытаюсь использовать Dapper dot net в 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
Каков наилучший способ реализации? оператор в этом случае?
c?first_name
(без пробелов) для идиоматичности.?
здесь как.
. - person Brian   schedule 20.02.2012