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)); }
public static SchemaInterpolatedQuery SchemaInterpolateStroke(this LanguageInterpolatedQuery query, SchemaInterpolator interpolator) { var r = interpolator.Proceed(query); return(r); }