Запрос сети Dapper dot в F #

Я пытаюсь использовать сеть точек 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

Как лучше всего реализовать? оператор в этом случае?

8
задан Francesco De Vittori 20 February 2012 в 16:20
поделиться