private static void GenerateSqlForJoins (SqlTableBase sqlTable, ISqlCommandBuilder commandBuilder, IJoinInfoVisitor visitor) { foreach (var joinedTable in sqlTable.JoinedTables) { GenerateTextForSqlJoinedTable (visitor, joinedTable, commandBuilder); GenerateSqlForJoins (joinedTable, commandBuilder, visitor); } }
private static void GenerateTextForSqlJoinedTable (IJoinInfoVisitor visitor, SqlJoinedTable joinedTable, ISqlCommandBuilder commandBuilder) { ArgumentUtility.CheckNotNull ("joinedTable", joinedTable); // TODO RMLNQSQL-4: This check can be removed. if (joinedTable.JoinSemantics == JoinSemantics.Inner) throw new NotSupportedException ("SqlJoinedTables with INNER JoinSemantics are currently not supported. (RMLNQSQL-4)"); commandBuilder.Append (" LEFT OUTER JOIN "); joinedTable.JoinInfo.Accept (visitor); }
private static void GenerateTextForSqlJoinedTable(IJoinInfoVisitor visitor, SqlJoinedTable joinedTable, ISqlCommandBuilder commandBuilder) { ArgumentUtility.CheckNotNull("joinedTable", joinedTable); // TODO RMLNQSQL-4: This check can be removed. if (joinedTable.JoinSemantics == JoinSemantics.Inner) { throw new NotSupportedException("SqlJoinedTables with INNER JoinSemantics are currently not supported. (RMLNQSQL-4)"); } commandBuilder.Append(" LEFT OUTER JOIN "); joinedTable.JoinInfo.Accept(visitor); }
public IJoinInfo Accept (IJoinInfoVisitor visitor) { ArgumentUtility.CheckNotNull ("visitor", visitor); return visitor.VisitUnresolvedCollectionJoinInfo (this); }
public IJoinInfo Accept(IJoinInfoVisitor visitor) { ArgumentUtility.CheckNotNull("visitor", visitor); return(visitor.VisitUnresolvedCollectionJoinInfo(this)); }
public virtual IJoinInfo Accept (IJoinInfoVisitor visitor) { ArgumentUtility.CheckNotNull ("visitor", visitor); return visitor.VisitUnresolvedJoinInfo (this); }
public virtual IJoinInfo Accept(IJoinInfoVisitor visitor) { ArgumentUtility.CheckNotNull("visitor", visitor); return(visitor.VisitResolvedJoinInfo(this)); }
private static void GenerateSqlForJoins(SqlTableBase sqlTable, ISqlCommandBuilder commandBuilder, IJoinInfoVisitor visitor) { foreach (var joinedTable in sqlTable.JoinedTables) { GenerateTextForSqlJoinedTable(visitor, joinedTable, commandBuilder); GenerateSqlForJoins(joinedTable, commandBuilder, visitor); } }