У меня есть таблица городов около 2.5 миллионов записей (весит 2гб) и если в SQL запрос выполняется моментально по поиску, то Entity Framework начинает сначала всю таблицу выгружать в память и все подвисает на достаточно долгое время, не подскажите как работать с такими тяжелыми таблицами.
var country = _repo.Get<Country>(x => x.CountryId == 1);
var cities = country.Cities.Where(x =>
x.TitleRu.Trim().ToLower().StartsWith("ново")).ToList();
Я проверил запрос в LINQPad 5
там аналогичный запрос выполняется тоже моментально
Ок, проблема в том, что ваш Cities - это List<City>
. List - не IQueryable
. Любая работа со списком вытянет в память весь список, и потом уже отфильтрует его.
Если хотите работать с Cities через EF, с отображением запроса в базу - или выбирайте из контекста изначально Cities, с фильтром по City.CountryID
var cities = _repo.Get<City>(x => x.City.Country.CountryId == 1 &&
x.TitleRu.Trim().ToLower().StartsWith("ново"))
).ToList();
или работайте через context.Entry(...).Collection(...)
Виртуальный выделенный сервер (VDS) становится отличным выбором
Добавил стандартное окно браузера от Cefsharp, пытаюсь авторизоваться на сайте и получить ответ при помощи IRequestHandler, но в итоге из за OnBeforeResourceLoad...
Хочу сделать TreeView но в таком виде и с нуля
Задание: Если переменная $text не содержит специальных символов - вывести соответствующее сообщениеНикак не получается заставить программу...