anchor.diff:                  
                   let pkParam = (this :> ISqlProvider).CreateCommandParameter(QueryParameter.Create("@pk",0),pkValue)
   
  -                ~~(sprintf "UPDATE %s SET %s WHERE %s = @pk;" 
  -                    (entity.Table.FullName.Replace("[","\"").Replace("]","\""))
  +                ~~(sprintf "UPDATE \"%s\".\"%s\" SET %s WHERE %s = @pk;" 
  +                    entity.Table.Schema entity.Table.Name
                       (String.Join(",", data |> Array.map(fun (c,p) -> sprintf "%s = %s" c p.ParameterName ) ))
                       pk)
   
  
positive.code:             else  ~~(sprintf "SELECT %s " columns)
  
              // FROM
              ~~(sprintf "FROM %s as \"%s\" " (baseTable.FullName.Replace("[","\"").Replace("]","\""))  baseAlias)         
              fromBuilder()
              // WHERE
              if sqlQuery.Filters.Length > 0 then
  
negative.code:                     |> Array.unzip
  
                  sb.Clear() |> ignore
                  ~~(sprintf "INSERT INTO \"%s\".\"%s\" " entity.Table.Schema entity.Table.Name)
  
                  match columnNames with
                  | [||] -> ~~(sprintf "DEFAULT VALUES")
                  | _ -> ~~(sprintf "(%s) VALUES (%s)"
                             (String.Join(",",columnNames |> Array.map (fun c -> sprintf "\"%s\"" c)))
                             (String.Join(",",values |> Array.map(fun p -> p.ParameterName))))
  
                  ~~(sprintf " RETURNING \"%s\";" pk)
  
                  values |> Array.iter (cmd.Parameters.Add >> ignore)
                  cmd.CommandText <- sb.ToString()
  