0

我有两种类型 Person 和 Honorific ,它们之间的关系为 0..1 到 Many 。我正在使用 queryOptions.request.SetSelectExpandClass 来支持扩展,并且当有敬语时它可以完美地扩展敬语。

当没有 Honorific 时,我需要 Json 有效负载包含 Honorific=(null)。在那种情况下,我从 TryGetPropertyValue 返回一个空值,但 Json 序列化程序完全省略了对应插入 Honorif=(null) 的 Honorific 的任何引用。关于如何实现这一目标的任何想法?谢谢!

4

1 回答 1

0

我不认为 OData 允许集合的值为空。
空集合由 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

于 2014-02-11T07:22:00.023 回答