Я попытался предоставить упрощенную версию проблемы, с которой я имею дело.Запрос 1 перечисляется и возвращает List
из PersonViewModel
.
Однако, когда я изменяю запрос и добавляю .ToList()
перед оператором выбора, запрос возвращает значение null
.
Причина этого в том, что я хочу сначала перечислить его, чтобы я мог иметь дело со значениями в памяти - чтобы использовать такие функции, как .toString
, которые нельзя преобразовать в SQL.
Возвращает как ожидалось
var query = (from s in context.PersonDetails.GetQueryable(x => x.Id == Id)
select new PersonViewModel
{
Name = s.Person.Firstname,
Number = s.Person.Number
}).ToList();
Возвращает null
var query = (from s in context.PersonDetails.GetQueryable(x => x.Id == Id).toList()
select new PersonViewModel
{
Name = s.Person.Firstname,
Number = s.Person.Number
}).ToList();