我正在使用新的ASP.NET webapi odata(版本4.0.0,根据Nuget上次发布于2013年2月27日)
基本上我按照这里描述的那样做:http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api
我正在发布我的数据传输对象并创建了odata atom pub feed但我想对它有更多的控制权.主要是我希望能够做到以下几点:
<category term="X"和m:type子特性是在我的应用程序类.目前,他们使用完整的命名空间公开c#类名,但我不想公开它.谢谢.
我一直在尝试找到一个解决方案,用于自定义序列化过去2 个月从OData控制器返回的实体!请帮忙!!!
用例非常简单,我已经简化了它以解决问题点.我有一些虚拟字段附加到我的模型中的某些实体,例如:
public class Customer
{
public int CustomerId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string VirtualField1 { get; set; }
public string VirtualField2 { get; set; }
public string VirtualField3 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
现在,假设客户端已将VirtualField1配置为"CompanyName".
我想要做的就是创建一个自定义JSON序列化器和反序列化器:
我已经阅读了谷歌可能找到的所有内容,但找不到任何有效的例子.以下是一些链接:
https :
//aspnetwebstack.codeplex.com/wikipage?title = DOMata20formatter%20extensibility**现在的OData API有点不同,但我认为原理是一样的.
从asp.net web api定制odata输出
在webapi中使用OData获取仅在运行时知道的属性
所有链接的常见(以及我发现的任何信息)是我必须从DefaultODataSerializerProvider继承并将其添加到我的格式化程序:
在WebApiConfig.cs上: …