Beispiel #1
0
        public override XElement ToXElement()
        {
            var el = base.ToXElement();

            if (Scope != ViewScope.DefaultValue)
            {
                el.Add(new XAttribute("Scope", Enum.GetName(typeof(ViewScope), Scope)));
            }
            var queryElement = Query.ToXElement();

            if (queryElement != null)
            {
                el.Add(queryElement);
            }
            if ((ViewFields != null ? ViewFields.FieldRefs : null) != null && ViewFields.FieldRefs.Any())
            {
                el.Add(ViewFields.ToXElement());
            }
            if (Joins != null && Joins.Any())
            {
                el.Add(Joins.ToXElement());
            }
            if (ProjectedFields != null && ProjectedFields.Any())
            {
                el.Add(ProjectedFields.ToXElement());
            }
            if (RowLimit != null && RowLimit.Limit > 0)
            {
                el.Add(RowLimit.ToXElement());
            }
            return(el);
        }
Beispiel #2
0
 public void AddJoin(JoinMapping mapping)
 {
     if (Joins.Any(x => x.TableName == mapping.TableName))
     {
         throw new InvalidOperationException("Tried to add join to table '" + mapping.TableName + "' when already added.");
     }
     AddMapping(mapping, MappingType.Join);
 }
Beispiel #3
0
 public bool IsTrivial()
 {
     return((WhereExpr == null || WhereExpr.Type == ExprType.EMPTY) &&
            (GroupWhereExpr == null || GroupWhereExpr.Type == ExprType.EMPTY) &&
            !Columns.Any() &&
            !OrderByExprs.Any() &&
            !Joins.Any() &&
            RowsLimit == null &&
            RowsOffset == 0 &&
            !DistinctRecords &&
            !GroupByColumns.Any());
 }