"Приложение не отвечает" при получении данных с базы SQLite
Хочу заполнить ListView объект данными из бд, однако при получении этих данных приложение зависает. В логах никаких ошибок нет. Есть предположение, что общение с бд происходит в UI потоке, хотя вроде бы все методы объявляю, как async.
ContentPage, при открытии которого зависает приложение:
public PollsPage()
{
InitializeComponent();
getPolls();
}
public async Task getPolls()
{
Database.SmartYardDB db = new Database.SmartYardDB();
if(db.getNotAnsweredPolls().Result != null)
lvPolls.ItemsSource = (IList<Models.Tables.Polls>)db.getNotAnsweredPolls().Result;
}
Методы внутри класса бд:
public SQLiteAsyncConnection db;
public async Task init()
{
if (db is not null)
{
return;
}
db = new SQLiteAsyncConnection(Constants.Database.DatabasePath, Constants.Database.Flags);
await db.CreateTableAsync<Models.Tables.Users>();
await db.CreateTableAsync<Models.Tables.Messages>();
await db.CreateTableAsync<Models.Tables.Polls>();
}
public async Task<List<Models.Tables.Polls>> getNotAnsweredPolls()
{
await init();
return await db.Table<Models.Tables.Polls>().Where(
x => x.userAnswer != Constants.Database.POLLS_USERANSWER_NOTANSWERED &&
x.status == Constants.Database.POLLS_STATUS_ACTIVE).ToListAsync();
}
Подскажите, пожалуйста, что делаю неправильно. Спасибо)