internal SchemaInterpolatedQuery Proceed(LanguageInterpolatedQuery query)
        {
            List <string> formatString     = new List <string>();
            List <object> actualParameters = new List <object>();

            foreach (var p in query.Parameters)
            {
                if (p is SqlTableReference tableRef)
                {
                    formatString.Add(VisitTableReference(tableRef));
                    continue;
                }

                if (p is SqlColumnReference colRef)
                {
                    formatString.Add(VisitColumnReference(colRef));
                    continue;
                }

                formatString.Add($"{{{actualParameters.Count}}}");
                actualParameters.Add(p);
            }

            var queryString = string.Format(query.Query, formatString.ToArray());

            return(new SchemaInterpolatedQuery(queryString, actualParameters.ToArray(), query.UsedTypes));
        }
Example #2
0
        public static SchemaInterpolatedQuery SchemaInterpolateStroke(this LanguageInterpolatedQuery query, SchemaInterpolator interpolator)
        {
            var r = interpolator.Proceed(query);

            return(r);
        }