/// <summary> /// We delegate the writing of the fragment to the appropriate type. /// </summary> /// <param name="writer"></param> /// <param name="sqlGenerator"></param> public void WriteSql(SqlWriter writer, SqlGenerator sqlGenerator) { if (null != _sqlFragments) { foreach (object o in _sqlFragments) { string str = (o as String); if (null != str) { writer.Write(str); } else { ISqlFragment sqlFragment = (o as ISqlFragment); if (null != sqlFragment) { sqlFragment.WriteSql(writer, sqlGenerator); } else if (o is char) { writer.Write((char)o); } else { throw new InvalidOperationException(); } } } } }
public static string WriteSql(ISqlFragment sqlStatement, SqlVisitor visitor) { var builder = new StringBuilder(1024); using (var writer = new SqlWriter(builder)) { sqlStatement.WriteSql(writer, visitor); } return(builder.ToString()); }
public static string GetString(this ISqlFragment fragment, SqlGenerator sqlGenerator) { using (var writer = new SqlWriter()) { if (fragment != null) { fragment.WriteSql(writer, sqlGenerator); } return(writer.ToString()); } }
protected void WriteIntervalPart(SqlWriter writer, SqlGenerator sqlGenerator, ISqlFragment intervalPart) { if (intervalPart != null) { writer.Write("varchar(abs("); intervalPart.WriteSql(writer, sqlGenerator); writer.Write("))"); } else { writer.Write("'0'"); } }
public virtual void WriteSql(SqlWriter writer, SqlGenerator sqlGenerator) { if (this._sqlFragments == null) { return; } foreach (object sqlFragment1 in this._sqlFragments) { string str = sqlFragment1 as string; if (str != null) { writer.Write(str); } else { ISqlFragment sqlFragment2 = sqlFragment1 as ISqlFragment; if (sqlFragment2 == null) { throw new InvalidOperationException(); } sqlFragment2.WriteSql(writer, sqlGenerator); } } }