В моем серверном приложении Blazor у меня есть компонент Blazor, который использует второй компонент... внутри второго компонента я вызываю метод службы, который использует структуру сущностей для получения списка «сайтов». Если я использую «ожидание» и «асинхронность» для всех вызовов, раскрывающийся список не получит никаких значений. Если я изменю вызов фермы сущностей на ToList() с ToListAsync(), это сработает.
Location.razor
@page "/LocationTest" @код { public ParentObj родительский объект = новый ParentObj (); общедоступное местоположение _loc = new(); } LocationPicker.razor
@inject DataService служба данных @using System.Collections.ObjectModel Сайт: @код { [Параметр] публичное местоположение curLocation {get; набор; } защищенный IEnumerable SiteListDropDownValues {get; набор; } защищенное переопределение асинхронной задачи OnInitializedAsync() { SiteListDropDownValues = ожидайте matchservice.GetActiveSites(); }
GetActiveSites (в DataService)
public async Task GetActiveSites() { возвращение ждут _repo.GetActiveSites(); } GetActiveSites (в _repo)
public async Task GetActiveSites() { используя (var ctx = _matchDBContext.CreateDbContext()) { возвращение ждут ctx.Sites. Где(активный => активный.Active.Equals(истина)). Где(del => del.Deleted.Equals(false)). OrderBy(a => a.Name).ToListAsync(); } } Когда я запускаю все это, в раскрывающемся списке нет значений. Если я изменю ToListAsync() в GetActiveSites() на ToList() и удалю ожидание... выпадающий список получит значения....
Любая помощь будет оценена по достоинству!
