public virtual SQLTextEmitter Clone() { SQLTextEmitter emitter = (SQLTextEmitter)Activator.CreateInstance(GetType()); emitter.UseQuotedIdentifiers = UseQuotedIdentifiers; emitter.UseStatementTerminator = UseStatementTerminator; return(emitter); }
protected virtual void EmitUserExpression(UserExpression expression) { string[] arguments = new string[expression.Expressions.Count]; SQLTextEmitter emitter = Clone(); for (int index = 0; index < arguments.Length; index++) { arguments[index] = emitter.Emit(expression.Expressions[index]); } AppendFormat(expression.TranslationString, arguments); }