public void MultipleJoins() { var u = new UserTable(); var p1 = new PostTable("p1"); var p2 = new PostTable("p2"); var tv = new CustomTableValuedFunction(); var q = new SharpQuery(); q.Select(u.AllColumns) .From(u) .InnerJoin(p1, p1.UserId.IsEqualTo(u.Id)) .InnerJoin(p2, Predicate.TRUE) .CrossApply(tv, Predicate.TRUE) .LeftOuterJoin(p2, Predicate.TRUE) .InnerJoin(p2, Predicate.TRUE) .CrossApply(tv, Predicate.TRUE) .LeftOuterJoin(p2, Predicate.TRUE) .InnerJoin(p2, Predicate.TRUE) .InnerJoin(p2, Predicate.TRUE) .InnerJoin(p2, Predicate.TRUE) .InnerJoin(p2, Predicate.TRUE) .InnerJoin(p2, Predicate.TRUE) .InnerJoin(p2, Predicate.TRUE) .EndStatement(); }