public void AddItem(BracketedName alias, PropertyMap property, bool ascending) { _items.Add(new Item { Alias = alias, Property = property, Ascending = ascending, }); }
public SelectPaging(BracketedName alias, Select innerSelect, IValueProvider skip) { innerSelect.Columns.AddRowNumber(innerSelect.OrderBy); innerSelect.OrderBy = null; _skip = skip; _innerSelect = innerSelect; _alias = alias; }
public Select(EntityMap entityMap, BracketedName alias) { if (entityMap == null) throw new ArgumentNullException("entityMap"); if (alias == null) throw new ArgumentNullException("alias"); EntityMap = entityMap; Alias = alias; JoinGroup = new JoinGroup(); Columns = new Columns(alias, entityMap); From = new From(this); }
public Item(BracketedName fromAlias, BracketedName toAlias, ReferenceMap referenceMap) { FromAlias = fromAlias; ToAlias = toAlias; ReferenceMap = referenceMap; }
public Item AddJoin(BracketedName fromAlias, BracketedName toAlias, ReferenceMap referenceMap) { return _joins[referenceMap.Property] = new Item(fromAlias, toAlias, referenceMap); }
public bool VisitPath(QueryContext context, PropertyInfo[] path, out BracketedName alias, out PropertyMap map) { var entity = EntityMap; alias = Alias; map = null; for (var i = 0; i < path.Length - 1; i++) { var prop = path[i]; var item = JoinGroup.FindJoin(prop); if (item == null) { var reference = entity.FindReferenceMap(prop); if (reference == null) return false; item = JoinGroup.AddJoin(alias, context.NextAlias(), reference); } alias = item.ToAlias; entity = item.ReferenceMap.To; } var last = path[path.Length - 1]; map = entity.FindPropertyMap(last) ?? entity.FindReferenceMap(last); return true; }
public PropertyMap(PropertyInfo propertyInfo, BracketedName column) { Property = propertyInfo; Column = column; }
public ReferenceMap(PropertyInfo propertyInfo, BracketedName column, EntityMap from, EntityMap to) : base(propertyInfo, column) { From = from; To = to; }
public Columns(BracketedName alias, EntityMap entityMap) { _alias = alias; _entityMap = entityMap; }