Thinktecture.EntityFrameworkCore icon indicating copy to clipboard operation
Thinktecture.EntityFrameworkCore copied to clipboard

[FeatureRequest] RowNumber overload without RowNumberOrderByClause

Open Liero opened this issue 2 years ago • 1 comments

I want to add RowNumbers to IOrderedQueryable<TEntity>.

The problem is, that constructing RowNumberOrderByClause dynamically is not a trivial task.

I think following overload would be useful:

var query = dbContext.Products;
var orderedQuery = ApplyOrderBy(query, DataGrid.SortModel);
orderedQuery.Select(entity => new {
  entity,
  rowNumber = EF.Functions.RowNumber(entity)
})

alternativelly:

RowNumberOrderByClause FromOrderedQueryable<TEntity>(IOrderedQueryable<TEntity> query);

orderedQuery.Select(entity => new {
   entity,
   rowNumber = EF.Functions.RowNumber(RowNumberOrderByClause.FromOrderedQueryable(query))
})

Simmilar approach was mentioned here #7

EDIT:

or even better this Select overload:

orderedQuery.Select((entity, index) => new { entity, index });

Liero avatar Nov 05 '21 16:11 Liero

Hi, the last idea (Select((entity, index) => )) looks interessting but currently I have no time to implement this feature.

PawelGerr avatar Nov 12 '21 15:11 PawelGerr