Merhaba,
GetAll fonksiyonlarında server side sayfalama için hazırlanmış bir fonksiyon yok. Aşağıdaki yapıya benzer sayfalama ve filtreleme mantığına uygun bir fonksiyon ekleyebilir misiniz? Ayrıca bu fonksiyonu result pattern eklentinizle uyumlu hale de getirebilirsiniz.
public Tuple<int, int, IQueryable<TEntity>> GetAll(
int page, int pageSize,
Expression<Func<TEntity, bool>>? expression = null,
bool trackChanges = false,
Func<IQueryable<TEntity>, IIncludableQueryable<TEntity, object>>? include = null,
Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>>? orderBy = null)
{
IQueryable<TEntity> query = _appDbContext.Set<TEntity>();
if (include != null)
{
query = include(query);
}
int totalCount = query.Count();
int filteredCount = totalCount;
if (expression != null)
{
query = query.Where(expression);
filteredCount = query.Count();
}
if (orderBy != null)
{
query = orderBy(query);
}
query = query.Skip((page - 1) * pageSize).Take(pageSize);
if (!trackChanges)
{
query = query.AsNoTracking();
}
return new Tuple<int, int, IQueryable<TEntity>>(totalCount, filteredCount, query);
}
Merhaba, GetAll fonksiyonlarında server side sayfalama için hazırlanmış bir fonksiyon yok. Aşağıdaki yapıya benzer sayfalama ve filtreleme mantığına uygun bir fonksiyon ekleyebilir misiniz? Ayrıca bu fonksiyonu result pattern eklentinizle uyumlu hale de getirebilirsiniz.