anchor.diff:                  cmd
               
               let createDeleteCommand (entity:SqlEntity) =
  -                use cmd = (this :> ISqlProvider).CreateCommand(con,"")
  +                let cmd = (this :> ISqlProvider).CreateCommand(con,"")
                   cmd.Connection <- con 
                   sb.Clear() |> ignore
                   let pk = pkLookup.[entity.Table.FullName] 
  
positive.code:                         | None ->  e.SetColumnSilent(pkLookup.[e.Table.FullName], id)
                          e._State <- Unchanged
                      | Modified fields -> 
                          let cmd = createUpdateCommand e fields
                          Common.QueryEvents.PublishSqlQuery cmd.CommandText
                          cmd.ExecuteNonQuery() |> ignore
                          e._State <- Unchanged
                      | Deleted -> 
                          let cmd = createDeleteCommand e
                          Common.QueryEvents.PublishSqlQuery cmd.CommandText
                          cmd.ExecuteNonQuery() |> ignore
                          // remove the pk to prevent this attempting to be used again
  
negative.code:                 cmd
  
              let createUpdateCommand (entity:SqlEntity) changedColumns =
                  let cmd = (this :> ISqlProvider).CreateCommand(con,"")
                  cmd.Connection <- con 
                  let pk = pkLookup.[entity.Table.FullName] 
                  sb.Clear() |> ignore
  