示例#1
0
        public override IQueryable<Lite<Entity>> GetEntities(QueryEntitiesRequest request)
        {
            var ex = new _EntityColumn(EntityColumnFactory().BuildColumnDescription(), QueryName);

            DQueryable<T> query = Query
             .ToDQueryable(GetQueryDescription())
             .OrderBy(request.Orders)
             .Where(request.Filters)
             .Select(new List<Column> { ex });

            var exp = Expression.Lambda<Func<object, Lite<Entity>>>(Expression.Convert(ex.Token.BuildExpression(query.Context), typeof(Lite<Entity>)), query.Context.Parameter);

            var result = query.Query.Select(exp);

            return result.TryTake(request.Count);
        }
示例#2
0
        public override IQueryable <Lite <Entity> > GetEntities(QueryEntitiesRequest request)
        {
            var ex = new _EntityColumn(EntityColumnFactory().BuildColumnDescription(), QueryName);

            DQueryable <T> query = Query
                                   .ToDQueryable(GetQueryDescription())
                                   .SelectMany(request.Multiplications)
                                   .OrderBy(request.Orders)
                                   .Where(request.Filters)
                                   .Select(new List <Column> {
                ex
            });

            var result = query.Query.Select(query.Context.GetEntitySelector());

            if (request.Multiplications.Any())
            {
                result = result.Distinct();
            }

            return(result.TryTake(request.Count));
        }
示例#3
0
 public IQueryable <Lite <Entity> > GetEntities(QueryEntitiesRequest request)
 {
     return(Execute(ExecuteType.GetEntities, request.QueryName, null, dqb => dqb.Core.Value.GetEntities(request)));
 }
示例#4
0
 public override IQueryable <Lite <Entity> > GetEntities(QueryEntitiesRequest request)
 {
     throw new NotImplementedException();
 }