Доступен ли .ToListAsync() в приложении .net8 maui для Android?C#

Место общения программистов C#
Ответить
Anonymous
 Доступен ли .ToListAsync() в приложении .net8 maui для Android?

Сообщение Anonymous »

Я работаю над приложением .net maui для Android.
У меня большие данные, например 8000 записей.
Я сохраняю данные один раз в базе данных SQLite, когда клиент устанавливает app, затем я получаю данные из базы данных для фильтрации своих данных.
Я хочу дождаться запроса, но вижу только .ToList(), поскольку приложение выдает нулевое исключение и происходит сбой.
Доступна ли ToListAsync() в Приложение .net8 maui для Android или как мне дождаться результатов через linq?
Это мой код для класса datacontext

Код: Выделить всё

public class DataContext
{
private const string DbName = "IdealDiagnosisDb3";
public static string DbPath = Path.Combine(FileSystem.Current.AppDataDirectory,DbName);
private SQLiteConnection Database;

private async Task init()
{
//File.Delete(DbPath);

if (File.Exists(DbPath))
{
return;
}

Database = new SQLiteConnection(DbPath, SQLiteOpenFlags.Create | SQLiteOpenFlags.ReadWrite | SQLiteOpenFlags.SharedCache);

Database.CreateTable();
List drugs = new List(){big data };

foreach (Drug drug in drugs)
{
Database.Insert(drug);
}

Database.CreateTable();
List TradeDrugs = new List(){ big data };
foreach (TradeDrug TradeDrug in TradeDrugs)
{
Database.Insert(TradeDrug);
}
}

public async Task LoadAllDrugsAsync()
{
init();
return Database.Table().ToList();
}

public async Task LoadAllTradeDrugsAsync()
{
init();
return Database.Table().ToList();
}
}
Это мой код для класса HomeViewModel

Код: Выделить всё

public partial class HomeVM(DataContext dataContext) : BaseVM
{
private readonly DataContext _dataContext = dataContext;

[ObservableProperty]
private List _drugs;

[ObservableProperty]
private List _tradeDrugs;

private List DrugsWithoutFilter;

private List TradeDrugsWithoutFilter;

[ObservableProperty]
private string _searchName;

[ObservableProperty]
private string _placeHolderText;

[ObservableProperty]
private string _drugName;

[ObservableProperty]
private string _diagnosisId;

[ObservableProperty]
private string _diagnosisName;

[ObservableProperty]
private bool _isDrugSelected;

[ObservableProperty]
[NotifyCanExecuteChangedFor(nameof(SearchCommand))]
private bool _isTradeRadioButtonChecked;

partial void OnIsTradeRadioButtonCheckedChanged(bool value)
{
Search();
}

[ObservableProperty]
private Drug _selectedDrug;

[ObservableProperty]
private int _countDrugs;

public async Task InitializeDrugsAsync()
{
DrugsWithoutFilter = await _dataContext.LoadAllDrugsAsync();

Drugs = DrugsWithoutFilter;
CountDrugs = Drugs.Count();
TradeDrugsWithoutFilter = await _dataContext.LoadAllTradeDrugsAsync();

TradeDrugs = TradeDrugsWithoutFilter;

IsDrugSelected = false;
IsTradeRadioButtonChecked = false;
}

[RelayCommand]
private async Task Search()
{
if (!IsTradeRadioButtonChecked)
{
PlaceHolderText = "Enter Active Ingredient";

if (!string.IsNullOrEmpty(SearchName))
{
IsBusy = true;
Drugs = DrugsWithoutFilter.Where(x =>  x.DrugName.ToLower().Contains(SearchName.ToLower())).ToList();

CountDrugs = Drugs.Count();
IsBusy = false;
}
else
{
Drugs = DrugsWithoutFilter;

CountDrugs = Drugs.Count();
}
}
else
{
PlaceHolderText = "Enter Trade Name";

if (!string.IsNullOrEmpty(SearchName))
{
IsBusy = true;
TradeDrugs = TradeDrugsWithoutFilter.Where(x => x.TradeDrugName.ToLower().Contains(SearchName.ToLower())).ToList();

CountDrugs = TradeDrugs.Count();
IsBusy = false;
}
else
{
TradeDrugs = TradeDrugsWithoutFilter;

CountDrugs = TradeDrugs.Count();
}
}
}
}
ошибка
нет .tolistasync() в предложении Intellesense


Подробнее здесь: https://stackoverflow.com/questions/787 ... ndroid-app
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»