Как сделать запрос, так чтобы выборка проходила на стороне SQL сервера? - C#
Формулировка задачи:
Помогите переделать запрос, так чтобы не грузились все данные:
Но как эту часть: .ToAsyncEnumerable().Where... переделать в запрос SQL?
Если сделаю так, то будет ошибка:
IAsyncEnumerable<MessageInfo> message = _context.MessageInfos.Where(mes => !mes.IsLine) .Include(c => c.Coordinates) .Include(d => d.DateAddObject) .ToAsyncEnumerable() .Where(d => d.DateAddObject.Date.Date == dateTime.Date);
IQueryable<MessageInfo> message = _context.MessageInfos.Where(mes => !mes.IsLine) .Include(c => c.Coordinates) .Include(d => d.DateAddObject) .Where(d => d.DateAddObject.Date.Date == dateTime.Date); if (message != null) { List<HomeIndexViewModel> homeIndexViewModel = new List<HomeIndexViewModel>(); await (message .AsNoTracking()) .ForEachAsync(mes => { if (mes != null) homeIndexViewModel.Add(new HomeIndexViewModel { MarkerMessageId = mes.MessageInfoId, Latitude = mes.Coordinates.First().Latitude, Longitude = mes.Coordinates.First().Longitude, Title = mes.Title }); }); return Json(homeIndexViewModel); }
if (_context != null && DateTime.TryParse(date, out DateTime dateTime)) { IAsyncEnumerable<MessageInfo> message = _context.MessageInfos.Where(mes => !mes.IsLine) .Include(c => c.Coordinates) .Include(d => d.DateAddObject) .ToAsyncEnumerable() .Where(d => d.DateAddObject.Date.Date == dateTime.Date); if (message != null) { List<HomeIndexViewModel> homeIndexViewModel = new List<HomeIndexViewModel>(); await (message) .ForEachAsync(mes => { if (mes != null) homeIndexViewModel.Add(new HomeIndexViewModel { MarkerMessageId = mes.MessageInfoId, Latitude = mes.Coordinates.First().Latitude, Longitude = mes.Coordinates.First().Longitude, Title = mes.Title }); }); return Json(homeIndexViewModel); } }
Решение задачи: «Как сделать запрос, так чтобы выборка проходила на стороне SQL сервера?»
textual
Листинг программы
DateTime? begin = beginDate;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д