F # Principiante: recuperar una matriz de datos de un servidor

Estoy tratando de obtener datos de una base de datos MySQL.

Enfoque 2: aplicar / estilo de mapa

Estoy usando elReferencia de MySQL ADO para intentar construir este sistema. En particular, el ejemplo encontrado en 21.2.3.1.7.

(usando un pseudocódigo)

let table = build_sequence(query.read)

Donde query.read devuelve una fila en la tabla (o más bien, una lista de elementos que resultan ser una fila en la tabla). Y la variable de tabla es una lista de listas que representarán una tabla devuelta por la consulta.

He observado el código que figura a continuación, y me temo que su sintaxis está sobre mi cabeza.

Enfoque 1: bucle.

Problema 1: es poco elegante, requiere un mutable.

Problema 2: esto solosiente mal, basado en mi experiencia previa con Prolog & Lisp. Tiene que haber un más ...funcional manera de hacer esto.

Sin embargo, no estoy seguro de por dónde empezar. Comentarios y pensamientos?

let reader : MySql.Data.MySqlClient.MySqlDataReader = command.ExecuteReader()

let arr = []

let mutable rowIter = 0
let readingLoop() =
    while(reader.Read()) do
        rowIter = rowIter + 1
        for i = 0 to reader.FieldCount do

            //set arr[someiterator, i] = reader.GetValue[i].ToString())

Respuestas a la pregunta(2)

Su respuesta a la pregunta