public override SqlString ToSqlString(ICriteria criteria, ICriteriaQuery criteriaQuery, IDictionary <string, IFilter> enabledFilters) { SqlString[] columnNames = CriterionUtil.GetColumnNames(_lhsPropertyName, _lhsProjection, criteriaQuery, criteria, enabledFilters); SqlString[] otherColumnNames = CriterionUtil.GetColumnNames(_rhsPropertyName, _rhsProjection, criteriaQuery, criteria, enabledFilters); SqlStringBuilder sb = new SqlStringBuilder(); if (columnNames.Length > 1) { sb.Add(StringHelper.OpenParen); } bool first = true; foreach (SqlString sqlString in SqlStringHelper.Add(columnNames, Op, otherColumnNames)) { if (first == false) { sb.Add(" and "); } first = false; sb.Add(sqlString); } if (columnNames.Length > 1) { sb.Add(StringHelper.ClosedParen); } return(sb.ToSqlString()); }