Skip to content

Configuration

Jacek Hełka edited this page Dec 7, 2023 · 5 revisions

To make DbFun work we need:

  • paremeterless function creating a database connection
  • object providing code generation functions
  • function executing queries

The minimal configuration could look like this:

module DB = 
    let createConnection () = new SqlConnection(connectionString)
    let query = QueryBuilder(createConnection)
    let run f = DbCall.Run(createConnection, f)

The query builder object is stateless and can be safely stored as a variable in module.

We will often need some additional configuration, like custom type conversions etc. In this case, some query configuration object is needed:

module DB = 
    let createConnection () = new SqlConnection(connectionString)
    let defaultConfig = QueryConfig.Default(createConnection)
    let actualConfig = <some-code-changing-default-config>
    let query = QueryBuilder(actualConfig)
    let run f = DbCall.Run(createConnection, f)
Clone this wiki locally