Concat не работает в OnGetAsync Razor Pages - PullRequest
0 голосов
/ 22 мая 2019

Никаких ошибок не происходит. Visual Studio .NET Core 2.2 Razor Pages создает и запускает, но возвращает только данные первого Linq await. Я пытаюсь по существу сделать СОЮЗ с помощью метода Concat. Я попробовал и Concat, и заменил его на .Union, но не повезло, только первый запрос возвращается к Razor Page. Страница Razor называется "BoardMembers".

    public IList<OESAC.Models.BoardMembers> BoardMembers { get; set; }

  public IList<OESAC.Models.BoardMembers> BoardMembers2 { get; set; }


    public async Task OnGetAsync()
    {
        // BoardMembers = await _context.BoardMembers.Where(x=> (x.Office !=null) && (x.WebDisplaySection =="Officers")).ToListAsync();

        BoardMembers = await _context.BoardMembers
            .Select(p => new OESAC.Models.BoardMembers
            {
                Office = p.Office,
                WebDisplaySection = p.WebDisplaySection,
                Representing = p.Representing,
                WholeName = p.WholeName
            }).Where(p=>p.WebDisplaySection == "Officers").ToListAsync();

        BoardMembers2 = await _context.BoardMembers
            .Select(p => new OESAC.Models.BoardMembers
            {
                Office=p.Office,
                WebDisplaySection=p.WebDisplaySection,
                Representing= p.Representing,
                WholeName=p.WholeName
            }).Where(p=> p.WebDisplaySection == "Board of Directors").ToListAsync();

        BoardMembers.Concat(BoardMembers2).ToList();

    }

Последняя строка, которую я пробовал с ".ToList ();" и безрезультатно.

1 Ответ

1 голос
/ 22 мая 2019

Если вы используете Concat, вам нужно создать новый список для хранения возвращенного составного списка.

 Var BoardMembers3 = BoardMembers.Concat(BoardMembers2).ToList();

Однако вы можете использовать AddRange для объединения списка Boardmembers2 с Boardmembers.

BoardMembers.AddRange(BoardMembers2);
...