FSharp.Data.SqlClient
FSharp.Data.SqlClient copied to clipboard
Statically typed DataSet
- Includes all database tables
- Navigation support
- Ideally reuses same erased types for tables
type DB = SqlProgrammabilityProvider<"Server=.;Database=AdventureWorks2012;Trusted_Connection=yes">
let ds = DB.DataSet()
//table types re-use
//pseudo code below
let orders = ds.Tables.Sales.SalesOrderHeader
assert (typeof<DB.Sales.Tables.SalesOrderHeader> = orders.GetType())
//navigation
// load orders from database
let orderLines = orders.[0].SalesOrderDetails
orderLines.Add(...)
// remove, update children