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); }
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); }
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()); }