public string GetSql(bool endOfStatement = true) { var pattern = Pattern; if (endOfStatement) { Append(SnippetLibrary.End(Parameters.EndOfStatement.ToString())); } foreach (var snippet in _expressions) { var text = ESC_START + snippet.Name + ESC_END; if (pattern.Contains(text)) { pattern = pattern.Replace(text, snippet.Prefix + snippet.Code + snippet.Postfix); } } pattern = Regex.Replace(pattern, ESC_START + "([A-Za-z0-9_]+)" + ESC_END, string.Empty, RegexOptions.IgnoreCase | RegexOptions.Singleline); return(pattern); }