2013-07-22 2 views
1

Я пытаюсь группировать свои билеты по приоритету и вычислять среднее время для решения каждого билета в рамках этих сгруппированных приоритетов. Я не уверен, как пойти на получение среднего в проекции. Как мне вставить формулу для среднего значения в моей проекции, которая по сути является номером билетов, делятся на minElapse. Он говорит, что minElapse не находится в текущем контексте. Будучи я группирую и использую Let this, где я запутался в том, как использовать переменную minElapse. БлагодаряLINQ - Проецирование с группировкой и локальная переменная

var results = from r in Tickets 
where r.Team.Equals("ABC") && DateCreated >1330001100 && r.DateCreated<1350000000 //unix time 
let minElapse = r.FinishDate - r.DateCreated 
group r by r.priority into u 
select new { 
    Priority = u.Key, 
TicketCount = u.Count(), 
AverageMin = u.Average(c => minElapse) 
}; 

ответ

1

Вы можете просто сделать его не использовать let:

var results = from r in Tickets 
where r.Team.Equals("ABC") && r.DateCreated>1330001100 && r.DateCreated<1350000000 
group r by r.priority into u 
select new 
{ 
    Priority = u.Key, 
    TicketCount = u.Count(), 
    AverageMin = u.Average(x => x.FinishDate - x.DateCreated) 
}; 
Смежные вопросы