Я использую LINQ с инфраструктурой сущности в своем приложении. У меня есть метод репозитория, чтобы получить страницу данных, например:
public IEnumerable<Sample> GetPageData(int orderId, int page, int itemsPerPage)
{
var samples = _context.Set<Sample>()
.Where(s => s.OrderId == orderId)
.OrderBy(s => s.Id)
.Skip(itemsPerPage * page)
.Take(itemsPerPage);
return samples;
}
Я хотел бы иметь другой метод репозитория, чтобы я мог получить страницу, на которой находится образец. Подпись метода будет выглядеть примерно так:
public int GetPage(int orderId, int sampleId, int itemsPerPage)
{
// ???
}
Я изо всех сил пытаюсь найти способ сделать это в LINQ. Единственная идея, которую я имею сейчас, - это получить страницы один за другим, пока не найду нужный образец. Я знаю, что это не эффективно, но требование состоит в том, что не более 500 образцов, а размер страницы - 25.
Как я мог бы сделать это более эффективно?