В нашем приложении мы немного запрос, который выглядит следующим образом:Methode вызова дважды в LINQ Query
var selectedAgents = from agent in listAgents
where (this.collectionVehicles.GetVehicleByAgent(agent)).IsActive ||
(this.collectionVehicles.GetVehicleByAgent(agent)).IsSoldSinceCurrentSession
select agent;
Это прекрасно работает, но метод GetVehicleByAgent называется два раза, и это, возможно, не нужно.
Перед LINQ мы имели Еогеасп петлю и сделал так:
Vehicle parentVehicle = collectionVehicles.GetVehicleByAgent(agent);
if (parentVehicle.IsActive || parentVehicle.IsSoldSinceCurrentSession)
{
selectedAgents.Add(agent);
}
Как вы можете видеть GetVehicleByAgent возвращает объект Vehicle и может easiely по сравнению более чем один раз. Поэтому я ищу способ вернуть автомобиль внутри запроса LINQ и сохранить его. Я не хочу дважды звонить GetVehicleByAgent.
Да, это так! Прекрасно работает! – TalkingCode