我有两种类型Person和Honorific,它们之间有0..1到很多关系。我正在使用queryOptions.request.SetSelectExpandClass来支持扩展,当有一个Honorific时,它可以完美地扩展Honorific。
当没有Honorific时,我需要Json有效载荷包括Honorific =(null)。在那种情况下,我从TryGetPropertyValue返回一个null,但是Json序列化器完全省略了对Honorific的任何引用,它应该插入Honorif =(null)。关于如何实现这一点的任何想法?谢谢!
答案 0 :(得分:0)
我认为OData不允许集合的值为null 空集合由WebAPI处理,它将在序列化期间忽略空集合 我认为这是WebAPI中的一个错误,在序列化过程中应将空集合视为空集合。
检查WebAPI打击的源代码:
对于OData V3:
\src\System.Web.Http.OData\OData\Formatter\Serialization\ODataEntityTypeSerializer.cs:WriteExpandedNavigationProperty
对于OData V4:
\src\System.Web.OData\OData\Formatter\Serialization\ODataEntityTypeSerializer.cs:WriteExpandedNavigationProperty