0
示意圖中,我花時間做下面的事情。Azure移動應用程序離線同步 - 網址長度限制,批量提取,查詢ID長度
public async Task<ItemA> GetItemsA(object someParams)
{
var res = new List<ItemA>();
var listOfItemAIds = await GetIdsFromServerAsync(someParams);
var tableAQuery = _tableA.Where(x => listOfItemAIds.Contains(x.Id));
await _tableA.PullAsync(null, tableAQuery);
var itemsA= await tableAQuery.ToListAsync();
var listOfItemBIds = itemsA.Select(x => x.bId).ToList();
await _tableB.PullAsync(null, _tableB.Where(x => listOfItemBIds .Contains(x.Id));
foreach(var itemA in itemsA)
{
itemA.ItemB = await _tableB.LookupAsync(itemA.itemBId);
}
return res;
}
有幾個問題是:
listOfTableAIds.Contains(x.Id)
導致錯誤的發生是由於URL長度限制- 作爲不能少於50的
queryId
代表listOfItemAIds
或listOfItemBIds
內容字符,我最終拉我可能已經有的數據 - 這是一個遺憾的是,我所有的拉沒有批量到一個單一的服務器調用
- 我可以直接得到所有我從一個單一的服務器查詢的需要,但後來我也不會從Azure的手機同步框架
,關於如何提高該序列任何建議中受益?
謝謝你看看@adrian。然而,我不能讓它變得「更簡單」,因此我的帖子。我將最終重定向pullasync http進入自定義http帖子... –