我正在使用我從Nuget下載的Microsoft.Graph庫。我在使用deltas進行跟蹤變更時遇到了問題。假設Microsoft圖形更改跟蹤
我使用類似下面的代碼得到改變用戶:
我的問題是,在這種情況下,什麼獲取返回的是一個User
對象。但是,由於這是delta
,並非對象中的所有字段都被填充。只有那些已經改變的人才能保證填充。
現在我要解析手動返回的JSON
,很容易看到哪些字段實際上已包含在響應中,因爲只有那些將包含在JSON
中。
但是,庫返回一個User
對象,並保留尚未返回的字段爲null
。在這種情況下,似乎不可能在delta中沒有返回的字段與實際包含null值的字段之間進行區分。
有什麼我錯過了圖書館應該如何使用?因爲它看起來好像庫確實丟失了一些關鍵信息,因爲我不能依靠返回的User
對象來可靠地更新我的數據庫,因爲包含null
值的更改字段和未更改的字段都會導致返回的.Net對象中的null
值。
這顯然也適用於其他類型的資源,我只是選擇Users
爲例。
是的,我知道有關文件,並且該部分是有據可查的。我具體詢問了Microsoft.Graph.Net庫,它應該將所有Web請求和JSON都抽象出來。 –
特別是字段已更改爲空值的情況。在這種情況下,庫返回一個.Net對象,並將該字段設置爲null。但是,如果它沒有更改,那麼該字段也會設置爲空。無法區分這兩種情況。這意味着人們不得不手動執行請求(例如,使用.Net WebRequest),並手動解析返回的json,以便在所有情況下都能可靠地處理增量,即使在出現此特定情況時也是如此不能依賴圖書館的三角洲 –