anchor.diff:                  prov.CreateTypeMappings(con)
                   prov.GetTables(con,caseSensitivity) |> ignore
                   if (providerType.GetType() <> typeof<Providers.MSAccessProvider>) then con.Close()
  -                providerCache.Add(typeName,prov)
                   prov)
   
       interface ISqlDataContext with
  
positive.code: open FSharp.Data.Sql
  open FSharp.Data.Sql.Common
  open FSharp.Data.Sql.Schema
  
  module internal ProviderBuilder =
      open FSharp.Data.Sql.Providers
  
negative.code: 
  type public SqlDataContext (typeName,connectionString:string,providerType,resolutionPath, referencedAssemblies, runtimeAssembly, owner, caseSensitivity) =
      let pendingChanges = System.Collections.Concurrent.ConcurrentDictionary<SqlEntity, DateTime>()
      static let providerCache = ConcurrentDictionary<string,ISqlProvider>()
      let myLock2 = new Object();
  
      let provider =
          providerCache.GetOrAdd(typeName,
              fun typeName -> 
                  let prov = ProviderBuilder.createProvider providerType resolutionPath referencedAssemblies runtimeAssembly owner
                  use con = prov.CreateConnection(connectionString)
                  con.Open()
  