仅具有最近 10 天的离线同步 PullAsync 行的 MobileServiceClient
MobileServiceClient with Offline Sync PullAsync rows from last 10 days only
我正在尝试从同步 table 中获取最近 10 天的 "what's new" 类型列表。
我不想将整个 table 同步下来,因为它包含数万行或行——仅包含过去 10 天的 CreatedAt
行。
await App.syncTablePersonStringChange.PullAsync(
"whtsnew",
App.syncTablePersonStringChange.Where(x=>DateTimeOffset.UtcNow.Subtract(x.CreatedAt) <= TimeSpan.FromDays(10)),
false,
new CancellationToken(),
new PullOptions());
我试过上面的代码,但它需要很长时间(永远不会完成)。
没有错误。
问题出在您的 where 语句上。我试过你的陈述,我得到一个 NotSupportException:
System.NotSupportedException: The member 'Subtract' is not supported in the 'Where' Mobile Services query expression.
这对我有用:
.Where(x => x.CreatedAt >= DateTimeOffset.UtcNow.AddDays(-10));
但是在这个语句中,CreatedAt
的 offset 将被忽略...
我正在尝试从同步 table 中获取最近 10 天的 "what's new" 类型列表。
我不想将整个 table 同步下来,因为它包含数万行或行——仅包含过去 10 天的 CreatedAt
行。
await App.syncTablePersonStringChange.PullAsync(
"whtsnew",
App.syncTablePersonStringChange.Where(x=>DateTimeOffset.UtcNow.Subtract(x.CreatedAt) <= TimeSpan.FromDays(10)),
false,
new CancellationToken(),
new PullOptions());
我试过上面的代码,但它需要很长时间(永远不会完成)。
没有错误。
问题出在您的 where 语句上。我试过你的陈述,我得到一个 NotSupportException:
System.NotSupportedException: The member 'Subtract' is not supported in the 'Where' Mobile Services query expression.
这对我有用:
.Where(x => x.CreatedAt >= DateTimeOffset.UtcNow.AddDays(-10));
但是在这个语句中,CreatedAt
的 offset 将被忽略...