【发布时间】:2017-02-01 13:07:49
【问题描述】:
我正在尝试将 OData 包 (Microsoft.AspNet.OData) 从 v5.9 升级到 v6.0 并且我的代码中断,因为我有一个扩展 ODataEntityTypeSerializer 的类。
我在对象浏览器中搜索它并被删除。当我回到 v5.9.1 时,它可以工作了。
在新的 6.0 版本中是否有替换 ODataEntityTypeSerializer 或者这只是兼容性中断?
我的派生类是一种防止null 值序列化的方法。
我写了新的提供者来处理null 基于this response on SO。
public class NullEntityTypeSerializer : ODataEntityTypeSerializer
{
public NullEntityTypeSerializer(ODataSerializerProvider serializerProvider)
: base(serializerProvider)
{ }
public override void WriteObjectInline(object graph, IEdmTypeReference expectedType, ODataWriter writer, ODataSerializerContext writeContext)
{
if (graph != null)
{
base.WriteObjectInline(graph, expectedType, writer, writeContext);
}
}
}
更新(18 年 7 月): 生成此工作的 SingleResult.Create() 问题已在 v7.0 中得到修复,不再需要。检查https://github.com/OData/WebApi/issues/170
【问题讨论】:
-
@OP 你找到了一个替代品吗?
-
我还在 v5.9 中
-
在 v7.0 中修复了原始问题。检查问题。更新
标签: odata upgrade compatibility