コード例 #1
0
 private void addJoinItem(SelectBuilder builder, Join join)
 {
     JoinStart start = join as JoinStart;
     if (start == null)
     {
         builder.AddJoin(join);
         return;
     }
     AliasedSource source = start.Source;
     Table table = source.Source as Table;
     if (table != null)
     {
         builder.AddTable(table, source.Alias);
         return;
     }
     ISelectBuilder select = source.Source as SelectBuilder;
     if (select != null)
     {
         builder.AddSelect(select, source.Alias);
         return;
     }
     Function functionCall = source.Source as Function;
     if (functionCall != null)
     {
         builder.AddFunction(functionCall, source.Alias);
         return;
     }
     throw new InvalidOperationException();
 }
コード例 #2
0
 public void TestSelect_FromFunction()
 {
     SelectBuilder builder = new SelectBuilder();
     builder.AddFunction(new Function("GetData"), "F");
     builder.AddProjection(builder.Sources["F"].Column("Column"));
     Formatter formatter = new Formatter();
     string commandText = formatter.GetCommandText(builder);
     string expected = "SELECT F.Column FROM GetData() F";
     Assert.AreEqual(expected, commandText, "The wrong SQL was generated.");
 }