XAML OrderByChild不工作- Xamarin Firebase实时数据库

5ssjco0h  于 2023-04-27  发布在  其他
关注(0)|答案(1)|浏览(104)

我想在我的MainPage.xaml文件中为我的项目添加一个搜索函数。一切都很顺利,没有任何错误,直到我添加了SearchRasepiRecord()方法,该方法根据搜索词查询Firebase数据库。
MainPage.xaml.cs:

private async void SearchBar_TextChanged(object sender, TextChangedEventArgs e)
{
    var searchTerm = e.NewTextValue;
    var records = await firebaseHelper.SearchRasepiRecord(searchTerm);
    displayRecord.ItemsSource = records;
}

FirebaseHelper.cs:

public async Task<List<RasepiRecord>> SearchRasepiRecord(string searchTerm)
{
    var result = await firebase
        .Child("RasepiRecords")
        .OrderByChild("Food")
        .StartAt(searchTerm.ToLower())
        .EndAt(searchTerm.ToLower() + "\uf8ff")
        .OnceAsync<RasepiRecord>();

    return result.Select(item => new RasepiRecord
    {
        Name = item.Object.Name,
        Food = item.Object.Food,
        Ingredients = item.Object.Ingredients,
        Instructions = item.Object.Instructions,
        Meal = item.Object.Meal,
        Socmed = item.Object.Socmed,
    }).ToList();
}

我得到了同样的错误,那就是:
错误CS1061“ChildQuery”不包含“OrderByChild”的定义,找不到接受第一个“ChildQuery”类型参数的可访问扩展方法“OrderByChild”(是否缺少using指令或程序集引用?)
我尝试了下面的调整,但仍然得到了同样的错误。
1.使用正确的指令

using Firebase.Database;
using Firebase.Database.Query;

1.已安装最新版本的Firebase Realtime Database .NET SDK
1.尝试卸载它然后再次安装它
1.还尝试清理和重建我的项目

  • 我正在使用VS2019 btw,它是否会影响任何...
epfja78i

epfja78i1#

通过查看step-up-labs/firebase-database-dotnet repo中的代码,似乎这个方法可能会被称为OrderBy而不是OrderByChild。所以给予一下:

.OrderBy("Food")

进一步查看代码,它需要一个Func<String>,因此它可能需要类似于:

.OrderBy(() => "Food");

相关问题