我在移动应用程序中使用Parse我正在使用Xamarin / C#。我试图通过updatedAt字段查询表,以便我可以减少我的应用程序进行的数据调用量。我在我的本地SQlite数据库中使用最新的“updatedAt”日期查询我的Parse DB。唯一的问题是Parse正在返回该表中的所有项目。这是我的功能: -
public static async Task getNewLiveTips(Action<bool> callback)
{
DateTime lastDate = App.Current.modelManager.GetOnlyLocalTip().updatedAt;
if (lastDate != null) {
var query = new ParseQuery<ParseTip>();
query.WhereGreaterThanOrEqualTo("updatedAt", lastDate);
IEnumerable<ParseTip> parseTips = await query.FindAsync();
foreach (var tip in parseTips)
{
Log.Debug(TAG, "Adding new updated live tip item");
App.Current.modelManager.SaveLocalTip(ModelUtils.parseToLocalTip((ParseTip)tip));
}
}
callback(true);
}
我不会在任何地方对日期进行任何操作,因此我本地SQLite DB的日期如下所示: -
06/09/2016 12:50:02
返回的日期是: -
06/09/2016 15:14:23
17/08/2016 21:12:31
如您所见,其中一个日期更近,其中一个日期更早。有谁能发现我的问题?
由于
答案 0 :(得分:0)
没有设法弄清楚为什么这个功能没有用,但我设法得到了相同的结果: -
private static async Task getAllLiveTips()
{
var query = new ParseQuery<ParseTip>().OrderByDescending("updatedAt").Limit(5);
IEnumerable<ParseTip> parseTips = await query.FindAsync();
if (parseTips != null)
{
foreach (var liveTip in parseTips)
{
Log.Debug(TAG, "Adding live tip item");
App.Current.modelManager.SaveLocalTip(ModelUtils.parseToLocalTip(liveTip));
}
}
}