相关疑难解决方法(0)

从asp.net web api定制odata输出

我正在使用新的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但我想对它有更多的控制权.主要是我希望能够做到以下几点:

  • 决定Feed的标题,作者和更新元素的内容
  • 决定是否拥有编辑链接
  • 改变什么显示在<category term="X"m:type子特性是在我的应用程序类.目前,他们使用完整的命名空间公开c#类名,但我不想公开它.

谢谢.

odata asp.net-web-api

8
推荐指数
1
解决办法
7266
查看次数

OData序列化

我一直在尝试找到一个解决方案,用于自定义序列化过去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序列化器和反序列化器:

  1. 对客户的任何GET请求(当然还有客户 - 即IQueryable <>)将通过此序列化程序,如果每个客户都有一个集合,它将用"CompanyName"替换字段"VirtualField1"的名称.
  2. 任何POST请求都将通过相反的替换 - 即 - 将"CompanyName"替换为"VirtualField1".
    **实际的替换逻辑有点复杂,但想法是一样的.

我已经阅读了谷歌可能找到的所有内容,但找不到任何有效的例子.以下是一些链接:
https :
//aspnetwebstack.codeplex.com/wikipage?title = DOMata20formatter%20extensibility**现在的OData API有点不同,但我认为原理是一样的.
从asp.net web api定制odata输出
在webapi中使用OData获取仅在运行时知道的属性

所有链接的常见(以及我发现的任何信息)是我必须从DefaultODataSerializerProvider继承并将其添加到我的格式化程序:
在WebApiConfig.cs上: …

serialization json odata asp.net-web-api

7
推荐指数
1
解决办法
5175
查看次数

标签 统计

asp.net-web-api ×2

odata ×2

json ×1

serialization ×1