Ошибок не бывает. Visual Studio .NET Core 2.2 Razor Pages выполняет сборку и запуск, но возвращает только данные из первого ожидания Linq. Я пытаюсь по существу сделать UNION, используя метод 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();" и без толку.
Если вы используете Concat, вам нужно создать новый список для хранения возвращаемого объединенного списка.
Var BoardMembers3 = BoardMembers.Concat(BoardMembers2).ToList();
Однако вы можете использовать AddRange для объединения списка Boardmembers2 в список Boardmembers.
BoardMembers.AddRange(BoardMembers2);
Бинго. Большое спасибо! Я не мог заставить AddRange работать, пока не изменил IList на List. Не уверен, что я отказался, но он отлично работает для того, что мне нужно. Спасибо!