【发布时间】:2019-07-27 09:31:46
【问题描述】:
我有一个使用 Xamarin Forms 构建的移动应用程序,我正在使用 Offline Data Sync in Azure Mobile Apps、to enable offline sync in my mobile application
所以, 我有两张桌子
- 采购订单
-
采购订单详情
public IMobileServiceSyncTable<PurchaseOrders> PurchaseOrdersTable; public IMobileServiceSyncTable<PurchaseOrderDetails> PurchaseOrderDetailsTable;
我想根据 UserId
同步 PurchaseOrders 表中的记录然后根据PurcahseOrder的Id同步PurchaseOrderDetails表中的记录
为此,我正在尝试这样做
根据用户 ID 获取采购订单
var purchaseOrders = (await GetAllPurchaseOrdersAsync(syncFromServer:true, userId)).ToList();
// in sync method
await PurchaseOrdersTable.PullAsync(queryName, PurchaseOrdersTable.CreateQuery().Where(w => w.Userid == userId));
当我尝试根据 PurchaseOrders 列表中的 Id 获取采购订单详细信息时
await PurchaseOrderDetailsTable.PullAsync(queryName,
PurchaseOrderDetailsTable.CreateQuery().Where(pod => purchaseOrders.Any(po => po.Id == pod.PoId)));
我得到以下异常
'Where' 移动设备不支持'value(System.Collections.Generic.List`1[ProjectName.Models.PurchaseOrder]).Any(po => (po.Id == pod.PoId))'服务查询表达式。
我能得到关于上述错误的解释以及如何解决它吗?
【问题讨论】:
-
PurchaseOrder和PurchaseOrderDetail之间的关系是如何定义的? -
@RyanHill-MSFT 感谢您的回复,我正在处理一个不包含
PurchaseOrders和PurchaseOrderDetails之间关系的旧项目
标签: linq xamarin.forms azure-mobile-services query-expressions notsupportedexception