anchor.diff:  -------------------------------------
   *)
   
  -type AdventureWorks2012 = SqlProgrammabilityProvider<connectionString>
  -type GetWhereUsedProductID = AdventureWorks2012.dbo.uspGetWhereUsedProductID
  -let getWhereUsedProductID = new GetWhereUsedProductID()
  -
  -getWhereUsedProductID.Execute( StartProductID = 1, CheckDate = System.DateTime(2013,1,1))
  +type AdventureWorks = SqlProgrammabilityProvider<connectionString>
  +do
  +    use cmd = new AdventureWorks.dbo.uspGetWhereUsedProductID()
  +    for x in cmd.Execute( StartProductID = 1, CheckDate = System.DateTime(2013,1,1)) do
  +        //check for nulls
  +        match x.ProductAssemblyID, x.StandardCost, x.TotalQuantity with 
  +        | Some prodAsmId, Some cost, Some qty -> 
  +            printfn "ProductAssemblyID: %i, StandardCost: %M, TotalQuantity: %M" prodAsmId cost qty
  +        | _ -> ()
   
   //output
  -//seq
  -//  [{ ProductAssemblyID = Some 749; ComponentID = Some 807; ... };
  -//   { ProductAssemblyID = Some 750; ComponentID = Some 807; ... };
  -//   { ProductAssemblyID = Some 751; ComponentID = Some 807; ... };
  -//   { ProductAssemblyID = Some 752; ComponentID = Some 807; ... };
  -//   ...]
  +//ProductAssemblyID: 749, StandardCost: 2171.2942, TotalQuantity: 1.00
  +//ProductAssemblyID: 750, StandardCost: 2171.2942, TotalQuantity: 1.00
  +//ProductAssemblyID: 751, StandardCost: 2171.2942, TotalQuantity: 1.00
  +//...
   
   (**
   
  
positive.code:     SELECT Name, ShipMethodID FROM Purchasing.ShipMethod ORDER BY ShipMethodID", connectionString>
  
  //Combine with SqlCommandProvider
  type OrdersByShipTypeSince = SqlCommandProvider<"
      SELECT COUNT(*) 
      FROM Purchasing.PurchaseOrderHeader 
      WHERE ShipDate > @shippedLaterThan AND ShipMethodID = @shipMethodId", connectionString, SingleRow = true>
  
  let ordersByShipTypeSince = new OrdersByShipTypeSince() 
  
  //overnight orders shipped since Jan 1, 2008 
  ordersByShipTypeSince.Execute( System.DateTime( 2008, 1, 1), ShipMethod.``OVERNIGHT J-FAST``) 
  //output
  //Some (Some 748)
  
  (**
  
  
negative.code: 
  *)
  
  do
      use cmd = new SqlCommandProvider<"
          SELECT TOP(@topN) FirstName, LastName, SalesYTD 
          FROM Sales.vSalesPerson
          WHERE CountryRegionName = @regionName AND SalesYTD > @salesMoreThan 
          ORDER BY SalesYTD
          " , connectionString>()
  
      cmd.Execute(topN = 3L, regionName = "United States", salesMoreThan = 1000000M) |> printfn "%A"
  
  //output
  //seq
  