internal override void BuildSql(BuildSqlContext sqlContext)
{
Left.BuildSql(sqlContext);
var builder = sqlContext.Builder;
switch (_joinType)
{
case JoinType.Left:
builder.Append(" left outer join ");
break;
case JoinType.Inner:
builder.Append(" inner join ");
break;
default:
throw new InvalidOperationException("Unknown join type");
}
Right.BuildSql(sqlContext);
if (_wherePart == null)
return;
builder.Append(" on ");
_wherePart.BuildSql(sqlContext);
}