Как «разрешить» лямбда-выражение?

Как я могу переписать этот запрос linq для Entity с помощью лямбда-выражения?
Я хочу использовать ключевое слово let или его эквивалент в своем лямбда-выражении.

var results = from store in Stores
              let AveragePrice =  store.Sales.Average(s => s.Price)
              where AveragePrice < 500 && AveragePrice > 250

Для некоторых похожих вопросов, таких как комментарии к моему вопросу, предлагается

.Select(store=> new { AveragePrice = store.Sales.Average(s => s.Price), store})

, который будет вычислять AveragePrice для каждого элемента, в то время как в стиле запроса, о котором я упоминал, выражение let предотвращает многократное вычисление среднего .

40
задан Reza Owliaei 11 February 2012 в 14:29
поделиться