В моем приложении xamarin.forms я использую базу данных firebase для хранения информации о пользователях. Я пытаюсь получить данные между определенным диапазоном дат.
Моя модель данных
public class Person
{
public string Name { get; set; }
public int PersonId { get; set; }
public string Address { get; set; }
public string PhoneNumber { get; set; }
public string EmailID { get; set; }
public string Password { get; set; }
public bool Status { get; set; }
public bool IsAdmin { get; set; }
public List<UserLocationData> userdata { get; set; }
}
public partial class UserLocationData
{
public string Latitude { get; set; }
public string Longitude { get; set; }
public DateTime DateTime { get; set; }
}
Из моего приложения I я отправлю две даты (дату начала и дату окончания), чтобы я хотел получить данные, которые имеют параметр DateTime
внутри этого диапазона. Как написать для этого запрос?
Что я пробовал
В моем вспомогательном классе Firebase,
public async Task<List<Person>> GetPersonLocation(int personId,DateTime startDate,DateTime endDate)
{
return (await firebase
.Child("Persons")
.OrderBy("DateTime")
.StartAt(startDate.ToString("yyyy-MM-dd hh:mm:ss tt"))
.EndAt(endDate.ToString("yyyy-MM-dd hh:mm:ss tt"))
.OnceAsync<Person>()).Select(item => new Person
{
Name = item.Object.Name,
PersonId = item.Object.PersonId,
PhoneNumber = item.Object.PhoneNumber,
EmailID = item.Object.EmailID,
Address = item.Object.Address,
Password = item.Object.Password,
IsAdmin = item.Object.IsAdmin,
Status = item.Object.Status,
userdata=item.Object.userdata
}).ToList();
}
Я получаю такое исключение:
Response: {
"error" : "Index not defined, add \".indexOn\": \"DateTime\", for path \"/Persons\", to the rules"
}
Это кажется неправильным. Любая помощь приветствуется.