Используйте SqlDataReader в F #

В C # я использую сценарии sql для добавления данных в список, где T будет классом с полями / свойствами, сопоставленными со сценарием sql.

Как я мог сделать это в F #? Эта часть использует хранимую процедуру стандартным способом.

using (conn)
{
    conn.Open();
    using (SqlCommand cmd = new SqlCommand("dbo.query_here", conn))
    {
    cmd.CommandText = "dbo.query_here";
    cmd.CommandType = System.Data.CommandType.StoredProcedure;
    cmd.CommandTimeout = 600;
    cmd.Parameters.Add(new SqlParameter("@x1", Convert.ToString(x)));
    cmd.Parameters.Add(new SqlParameter("@y1", y));
    cmd.Parameters.Add(new SqlParameter("@z1", z));
    SqlDataReader reader = cmd.ExecuteReader();
    while (reader.Read())
    {
        MyListOfClasses.Add(new MyDataClass(reader.GetInt32(reader.GetOrdinal("x"))           
                                            reader.GetDouble(reader.GetOrdinal("y")),
                                            reader.GetDouble(reader.GetOrdinal("a")),
                                            reader.GetDouble(reader.GetOrdinal("b"))));
    }
    reader.Close();
}
conn.Close();

Я понимаю, что F #, возможно, не так прост, как этот, но мне нужно аналогичным образом поместить эти данные в списки F #. Также предпочел бы предложения, которые не были функциональными по своей природе и следовали примеру, подобному коду C #.

В предыдущем потоке кто-то предлагал использовать записи, но это не было связано с SqlDataReader. Было бы предпочтительнее иметь список классов, чтобы я мог использовать методы получения и установки для каждого элемента.

Я должен добавить перед неизбежными комментариямипочему бы просто не использовать C # ", Конечно, я могу использовать C #, но я изучаю возможности написания алгоритмов на F # и для этого мне нужно получить исходные данные из SQL Server.

Ответы на вопрос(4)

Ваш ответ на вопрос