Есть база данных около 500000 записей. Я ее вывел, через jquery datatables, на вебморду.
Выглядит так.
Теперь я делаю фильтры для этой таблицы. Но ее нужно лимитить при поиске, иначе виснет база, начинает обрабатывать запрос очень долго. Именно когда делаю Count() результатов.
Поэтому логичнее делать лимит, отрабатывает быстрее. Сделал к примеру 5000 записей, но незнаю как сделать проверку, если к примеру в результате запроса будет больше 5000 записей, то брать только 5000 иначе показывать необходимый результат. Подскажите как.
Вот мой код, который есть сейчас
public class ResultSet
{
public int Count(List<string> columnFilters)
{
if (!columnFilters.All(x => string.IsNullOrWhiteSpace(x)))
{
return 5000;
}
using (OwlEntities dc = new OwlEntities())
{
return dc.books.OrderBy(x => x.id).Count();
}
}
public List<books> FilterResult(List<string> columnFilters, int start, int length)
{
string book_select = columnFilters[2];
string book_name = columnFilters[3];
List<books> result = null;
if (!columnFilters.All(x => string.IsNullOrWhiteSpace(x)))
{
using (OwlEntities dc = new OwlEntities())
{
result = dc.books.OrderBy(x => x.id).Where(x => x.name == book_name.ToLower()).Skip(start).Take(length).ToList();
}
}
else
{
using (OwlEntities dc = new OwlEntities())
{
result = dc.books.OrderBy(x => x.id).Where(x => x.id > start).Take(length).ToList();
}
}
return result;
}
}
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники