В вашем запросе он содержит "FileAS
" и "FileAs
" проблему чувствительности к регистру. Убедитесь, что они одинаковы и точно соответствуют имени столбца.
Измените ваш запрос на:
conn.QueryAsync<ContactsTable>($"SELECT FileAS FROM tblContacts WHERE FileAS LIKE '%{ keyword }%'").ToList();
OR
Чтобы уменьшить орфографические ошибки, попробуйте следующее лямбда-выражение как запрос:
conn.Table<ContactsTable>().Where(x => x.FileAS.Contains(keyword)).ToList();
Итак, ваш окончательный код должен выглядеть так:
private void NameSearch_SearchButtonPressed(object sender, EventArgs e)
{
var keyword = NameSearch.Text;
var db = DependencyService.Get<ISQLiteDB>();
var conn = db.GetConnection();
var getCaf = conn.Table<ContactsTable>().Where(x => x.FileAS.Contains(keyword)).ToList();
var resultCount = getCaf.Count();
if (resultCount > 0)
{
lstName.ItemsSource = getCaf;
}
}
Надеюсь, это решит вашу проблему.