2013-07-22 3 views
0

Я вызываю следующую функцию из веб-службы, но не могу определить объект.linux union group by undefined

Dim x = (From a In _db.report _ 
    Select ep = a.CurrentReport, CuCy = a.Current_Cycle) _ 
    .Union _ 
    (From b In _db.Counts _ 
     Group b By b.Year, b.Report Into k() _ <--------(this is undefined) 
     Select ep = b.Report, CucY = b.Year).ToList().Take(10) 

Это правильный способ сделать группу по запросу объединения?

Буду признателен за любую помощь.

+0

Я не полностью уверен в этом, но я думаю, что скобки после 'k' не нужны:' Group By [...] Into k Select [...] ' – GolfWolf

+1

Они автоматически добавляются. Я удалил их, но он добавляет их обратно. –

ответ

1

Синтаксис группировки в VB несколько отличается от C#. Группа By требует, чтобы вы указали Into Group, а не накладывали новую структуру. Смотрите, если выполнены следующие работы для вас:

Dim x = (From a In _db.report _ 
    Select ep = a.CurrentReport, CuCy = a.Current_Cycle) _ 
    .Union _ 
    (From b In _db.Counts _ 
     Group By b.Year, b.Report Into Group _ <--------(this is undefined) 
     Select ep = Key.Report, Key.Year).ToList().Take(10) 

Поскольку вы, кажется, не быть агрегирование во втором запросе, вы можете быть в состоянии только сделать отчетливый вместо:

From b in _db.Counts 
Select b.Report, B.Year 
Distinct