Я собрал информацию из других постов, но я застрял.
Первая часть работает нормально. По сути, я запрашиваю базу данных, используя LINQ, а затем перебираю результаты, генерируя отчет.
Dim results As System.Linq.IQueryable(Of Bud900Reports.tblBud_CONNECT)
If options.Type = reportType.Organization Then
results = From p In db.tblBud_CONNECTs _
Where p.TableOldName = "tblFY" & options.FiscalYear And p.DEPTID = options.GroupFilter _
Order By p.SOURCE_CODE, p.ROW_CODE_903 _
Select p
ElseIf options.Type = reportType.Division Then
'Here is my problem line
End If
For each result in results
'loop through code generating report
Next
Теперь вместо трех функций с большим количеством повторяющегося кода, если reportType имеет тип Division, я хочу выполнить этот запрос и поместить его в набор результатов.
results = (From p In db.tblBud_CONNECTs _
Where p.TableOldName = "tblFY" & options.FiscalYear And p.DIVISION_CODE = options.GroupFilter _
Group p By p.DIVISION_CODE, p.SOURCE_CODE, p.ROW_CODE_903 Into _
OrigEft = Sum(p.OrigEft), OrigAmt = Sum(p.OrigAmt), ABEft = Sum(p.ABEft), ABAmt = Sum(p.ABAmt) _
Order By DIVISION_CODE, SOURCE_CODE, ROW_CODE_903 _
Select DIVISION_CODE, SOURCE_CODE, ROW_CODE_903, OrigEft, OrigAmt, ABEft, ABAmt)
Это те же данные, только что сгруппированные и суммированные. Но это проявляется как анонимный тип. Я попытался сделать "выбрать новые tblBud_CONNECTs с {.DIVISION_CODE = DIVISION_CODE, ...}", но он дал мне ошибку "Явное построение типа сущности tblBud_CONNECTs не разрешено"
Как я могу делать то, что я хочу? Кажется, я должен быть в состоянии. Спасибо.