Exemplo n.º 1
0
        /// <summary>
        /// 条件查询(对象形式)
        /// </summary>
        /// <typeparam name="TSource"></typeparam>
        /// <param name="source"></param>
        /// <param name="group"></param>
        /// <returns></returns>
        public static IQueryable <TSource> QueryByGroupInput <TSource>(this IQueryable <TSource> source, GroupInput?group)
            where TSource : class, new()
        {
            var lambda = ObjFilterConvertHelper.ConvertToExpression <TSource>(group);

            return(source.Where(lambda));
        }
Exemplo n.º 2
0
        public void ConvertSortTest()
        {
            var sorts = new SortInput[]
            {
                new SortInput {
                    OrderBy = nameof(userinfo_us.name), Desc = true
                },
                new SortInput {
                    OrderBy = nameof(userinfo_us.age), Desc = true
                },
                new SortInput {
                    OrderBy = nameof(userinfo_us.birthday), Desc = false
                },
            };
            var query1 = ObjFilterConvertHelper.OrderBySortInput(_data.AsQueryable(), sorts).ToArray();
            var query2 = _data.AsQueryable().OrderByDescending(px => px.name).ThenByDescending(px => px.age).ThenBy(px => px.birthday).ToArray();

            for (int i = 0; i < query1.Length; i++)
            {
                Assert.AreEqual(query1[i].name, query2[i].name);
            }
        }
Exemplo n.º 3
0
 /// <summary>
 /// 分页查询
 /// </summary>
 /// <typeparam name="TSource"></typeparam>
 /// <param name="source"></param>
 /// <param name="page"></param>
 /// <returns></returns>
 public static IQueryable <TSource> QueryByPageInput <TSource>(this IQueryable <TSource> source, PageInput page)
     where TSource : class, new()
 {
     return(ObjFilterConvertHelper.OrderBySortInput(source, page.Sort).Page(page.Index, page.Size));
 }
Exemplo n.º 4
0
        /// <summary>
        /// 获取集合
        /// </summary>
        /// <param name="arrayKeyValue"></param>
        /// <returns></returns>
        public async Task <IEnumerable <TView> > QueryAsync(TQKey[] arrayKeyValue)
        {
            var whereExpr = ExpressionHelper.WhereEqualOr <TView, TQKey>(_qkeyMap, arrayKeyValue);

            return(await ObjFilterConvertHelper.OrderBySortInput(_repository.Select <TView>(), _orderMap).Where(whereExpr).ToArrayAsync());
        }