Example #1
0
 private Select GetSelectWithAggregationColumnsConditions(Select select, string[] aggregationColumns, string detailNameAlias)
 {
     foreach (string columnName in aggregationColumns)
     {
         QueryCondition condition = select.AddCondition(LogicalOperation.And);
         condition
         .OpenBlock(select.SourceExpression.Alias, columnName)
         .IsEqual(detailNameAlias, columnName)
         .Or()
         .OpenBlock(select.SourceExpression.Alias, columnName)
         .IsNull()
         .And(detailNameAlias, columnName).IsNull()
         .CloseBlock()
         .CloseBlock();
     }
     return(select);
 }