2016-07-14 86 views
0

我不知道如何做到這一點,與Azure新,我使用Azure的「公共接口IMobileServiceSyncTable:IMobileServiceSyncTable」,並從一個特定的表中獲取記錄,我在下面用於方法: 「query = table.CreateQuery(); await table.PullAsync(typeof(T).Name,query);」參數傳遞與Azure獲取服務

這使我得到了這個特定表的所有記錄,現在我想傳遞一個參數即USERID,所以我只得到屬於這個用戶的那些記錄。

任何人都可以幫我舉個例子嗎?

此外,如果有一個示例來獲取具有多個參數的數據,那將是非常好的。

在此先感謝。

回答

0

只需添加一個Where子句的查詢,如定期LINQ:

await todoTable.PullAsync("todoItems" + userid, syncTable.Where(u => u.UserId == userid)); 

此外,如果你正在使用多個查詢對同一表名稱,請確保您使用的是唯一的查詢名稱(第一參數)。這是因爲增量同步使用此查詢名稱來存儲上次同步操作的最新更新值。

欲瞭解更多信息,請參閱Offline Data Sync in Azure Mobile Apps

最後,在客戶端上進行用戶ID過濾通常不是一個好主意,因爲它的安全性較差。任何人都可以發出HTTP調用來檢索不屬於它們的值。更好的方法是調整服務器上的查詢。

對於這方面的例子,請參閱:

+0

非常感謝,where子句的東西真的很有幫助,關於離線數據同步還有其他疑問,azure請求需要一個查詢ID,什麼是查詢ID? 此外,如果最後一條記錄插入了ID,那麼接收到的數據和現在更新的數據會發生什麼情況。天青如何追蹤更新更改?關於起訴離線數據同步的任何示例? – Saurabh

+0

請閱讀上面鏈接的關於離線數據同步的文章,它解釋了所有這些。如果我的回答有幫助,請接受它。 :) –