anchor.diff:          static let getSubEntityMi = typeof<SqlEntity>.GetMethod("GetSubTable",BindingFlags.NonPublic ||| BindingFlags.Instance)
   
           let mutable singleEntityName = ""
  +        let mutable fromColumnGet = false
   
           /// holds the columns to select for each entity appearing in the projection tree, or a blank list if all columns         
           member val ProjectionMap = Dictionary<string,string ResizeArray>()
  
positive.code:                 | true, values -> values.Add key
                  | false, _ -> x.ProjectionMap.Add(alias,new ResizeArray<_>(seq{yield key}))
              | _ -> ()
              base.VisitMethodCall exp
  
          override __.VisitParameter(exp) = 
  
negative.code:                 // this is a special case when there were no select manys and as a result the projection parameter is just the single entity rather than a tuple
                  // this still includes cases where tuples are created by the user directly, that is fine - it is for avoiding LINQ auto generated tuples
                  singleEntityName <- exp.Parameters.[0].Name
                  let body = base.Visit exp.Body
                  upcast Expression.Lambda(body,BaseTableParam) 
              else base.VisitLambda exp
  