我正在使用我从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,以便在所有情况下都能可靠地处理增量,即使在出现此特定情况时也是如此不能依赖图书馆的三角洲 –