Как получить результаты с позиции х до х - PullRequest
0 голосов
/ 19 марта 2020

Я хочу показать данные из базы данных на своей странице, однако загрузка всех данных имеет серьезные последствия для памяти, поэтому я хочу использовать подкачку.

Как мне сформировать запрос Lamda / linq в таким образом, что я возьму все результаты, начиная с индекса from, а затем принимая х amount

public IHttpActionResult GetAllContacts(int from, int amount)
{
    using (PortalDBEntities db = new PortalDBEntities())
    {
        // now where do I specify index: from ?
        return Ok(db.Contact.OrderBy(x => x.Lastname).ThenBy(x => x.FirstName).Take(amount));
    }
}

1 Ответ

2 голосов
/ 19 марта 2020

Вы ищете метод Skip:

...Skip(from).Take(amount)

Обратите внимание, что в зависимости от того, как именно работает метод Ok (который я не могу вспомнить случайно), вы можете необходимо объединить результаты (например, поставив .ToList() в конце), чтобы избежать проблем с удалением db до использования запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...