Skip to content
Functional wrapper around ADO.NET for F#
F# Shell


FsSql provides a functional interface to ADO.NET for F# applications.


  • Connection management
  • DBNull <-> option type conversion
  • Async calls
  • Transaction computation expression
  • Composable mapping functions

And, of course, everything ADO.NET does, in an idiomatic, functional, way.

For general usage, see:

Configuring logging:

open System
open System.Diagnostics

open FsSql

type MyLogger(name) =
  interface Logging.Logger with
    member x.Log line =
      Debug.WriteLine (sprintf "%A" line)
    member x.Debug fLine =
      Debug.WriteLine (sprintf "%A" (fLine ()))
    member x.Verbose fLine =
      Debug.WriteLine (sprintf "%A" (fLine ()))

Logging.configure (fun () -> DateTime.UtcNow.Ticks)
                  (fun name -> new MyLogger(name))
Something went wrong with that request. Please try again.