• 1399/03/19

نحوه Async کردن متد Get/GetAll در ریپوزیتوری :

درود. در صورتیکه متد Get ما بازگشتی از نوع IQueryable داشته باشد (به دلیل واکشی مناسب اطلاعات از دیتا بیس) چگونه میتوان آنرا Async کرد؟؟ 

چون برای Async شدن باید به .ToListAsync تبدیل شود که در آن صورت دیگر Iqueryable نخواهد بود و کل دیتا از دیتا بیس فراخوانی میشود. و در صورت عدم استفاده از Tolist نمیدونم چطوری میشه درخواستهای Get را به صورت Async  اجرا کرد.

public  IQueryable<TEntity> Get(Expression<Func<TEntity, bool>> filter = null, Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> orderBy = null, string includeProperties = null)
        {
            IQueryable<TEntity> query = _dbSet;
            if (filter != null)
            {
                query = query.Where(filter);
            }
            if (orderBy != null)
            {
                query = orderBy(query);
            }
            if (includeProperties != null)
            {
                foreach (var includeProperty in includeProperties.Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
                {
                    query = query.Include(includeProperty);
                }
            }
            return query;             
        }
logo-enamadlogo-samandehi