Example #1
0
 public void AddItem(BracketedName alias, PropertyMap property, bool ascending)
 {
     _items.Add(new Item
     {
         Alias = alias,
         Property = property,
         Ascending = ascending,
     });
 }
Example #2
0
        public SelectPaging(BracketedName alias, Select innerSelect, IValueProvider skip)
        {
            innerSelect.Columns.AddRowNumber(innerSelect.OrderBy);
            innerSelect.OrderBy = null;

            _skip = skip;
            _innerSelect = innerSelect;
            _alias = alias;
        }
Example #3
0
        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);
        }
Example #4
0
 public Item(BracketedName fromAlias, BracketedName toAlias, ReferenceMap referenceMap)
 {
     FromAlias = fromAlias;
     ToAlias = toAlias;
     ReferenceMap = referenceMap;
 }
Example #5
0
 public Item AddJoin(BracketedName fromAlias, BracketedName toAlias, ReferenceMap referenceMap)
 {
     return _joins[referenceMap.Property] = new Item(fromAlias, toAlias, referenceMap);
 }
Example #6
0
        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;
        }
Example #7
0
 public PropertyMap(PropertyInfo propertyInfo, BracketedName column)
 {
     Property = propertyInfo;
     Column = column;
 }
Example #8
0
 public ReferenceMap(PropertyInfo propertyInfo, BracketedName column, EntityMap from, EntityMap to)
     : base(propertyInfo, column)
 {
     From = from;
     To = to;
 }
Example #9
0
 public Columns(BracketedName alias, EntityMap entityMap)
 {
     _alias = alias;
     _entityMap = entityMap;
 }