示例#1
0
        /// <summary>
        /// Get list entity which query option
        /// </summary>
        /// <param name="queryOption"></param>
        /// <returns></returns>
        public virtual IList <TEntity> Get(IQueryOption <TEntity> queryOption)
        {
            var query = GetAll();

            query = queryOption.Apply(query);
            return(query.ToList());
        }
示例#2
0
        public virtual PagedList <TEntity> Get(IQueryOption <TEntity> queryOption, PageInfo pageInfo)
        {
            var query = GetAll();

            query = queryOption.Apply(query);

            var pagedResult = new PagedList <TEntity>(query, pageInfo);

            return(pagedResult);
        }
示例#3
0
        /// <summary>
        ///     组装查询条件
        /// </summary>
        public static IDictionary <string, object> GetCondition(this IQueryOption target)
        {
            if (target == null)
            {
                return(new ExpandoObject());
            }

            IDictionary <string, object> dic = new ExpandoObject();

            var props = target.GetType()
                        .GetProperties(BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Public);

            foreach (var prop in props)
            {
                var val = prop.GetValue(target);
                if (val != null)
                {
                    dic[prop.Name] = val;
                }
            }

            return(dic);
        }
示例#4
0
        public virtual PagedList <TEntity> Get(IQueryOption <TEntity> queryOption, PageInfo pageInfo)
        {
            var result = QueryableRepository.Get(queryOption, pageInfo);

            return(result);
        }
示例#5
0
        public virtual TResult Query <TResult>(Func <IQueryable <TEntity>, TResult> resultTransformer, IQueryOption <TEntity> queryOption)
        {
            var result = QueryableRepository.Query(resultTransformer, queryOption);

            return(result);
        }
示例#6
0
        public virtual IList <TEntity> Get(IQueryOption <TEntity> queryOption)
        {
            var result = QueryableRepository.Get(queryOption);

            return(result);
        }
示例#7
0
        public virtual TResult Query <TResult>(Func <IQueryable <TEntity>, TResult> resultTransformer, IQueryOption <TEntity> queryOption)
        {
            var query = GetAll();

            query = queryOption.Apply(query);

            var result = resultTransformer(query);

            return(result);
        }
示例#8
0
 public virtual IList <TEntity> Get(IQueryOption <TEntity> queryOption)
 {
     throw new NotImplementedException();
 }
示例#9
0
 public virtual TResult Query <TResult>(
     Func <IQueryable <TEntity>, TResult> resultTransformer, IQueryOption <TEntity> queryOption)
 {
     throw new NotImplementedException();
 }
示例#10
0
 public virtual PagedList <TEntity> Get(IQueryOption <TEntity> queryOption,
                                        PageInfo pageInfo)
 {
     throw new NotImplementedException();
 }