Если вы добавите .ToList () к запросу, это приведет к выполнению запроса к базе данных.Если вы используете Select New
, это также сразу выполняет запрос или все еще позволяет изменять запрос перед выполнением?
При необходимости, вот пример:
var query = db.Cars();
if(model.CarNameSearch != "")
query = query.where(u => u.CarName == model.CarNameSearch);
return query.ToList();
В приведенном выше примере запрос к базе данных фактически не выполняется до тех пор, пока не будет вызван .ToList ().
Если вместо этого я это сделаю, будет ли результат Выбрать новый в запросе, выполняемом довозврат:
var query = from cars in db.Cars
select New MyResult{
MyModelCarName = cars.CarName,
MyModelCarColor= cars.Color
};
if(model.CarNameSearch != "")
query = query.where(u => u.MyModelCarName == model.CarNameSearch);
return query.ToList();