【问题标题】:WCF Data Services type conversionWCF 数据服务类型转换
【发布时间】:2012-04-17 09:58:16
【问题描述】:

我有一个如下所示的自定义 ValueObject 类型:

public class Token
{
   public string Id { get; set; }
}

我想通过 OData 公开一个类,如下所示:

[DataServiceKey("Name")]
public class Record
{
   public Token Token { get; set; }
   public string Name { get; set; }
}

我想提供一个自定义格式化程序/序列化程序/转换器,将我的 Token 类型转换为原始字符串。

我不想仅仅为了让它与 WCF 一起工作而将 Token 变成一个实体。

这可能吗?

【问题讨论】:

    标签: wcf-data-services


    【解决方案1】:

    Token 不需要是实体 - 它可以是带有字符串 ID 的复杂类型。我认为没有办法将一个类型序列化为另一种类型......将它用作复合体有什么问题吗?

    【讨论】:

    • 正如 Ian 指出的那样,令牌不需要是实体。尽管您可能需要将 Id 属性重命名为其他名称,否则启发式方法会启动并假定它是一个实体。目前无法为 WCF DS 中的负载片段指定自定义序列化格式。
    • 这是一个通用的例子。我想在服务器上采用对象模型并将其展平以与现有的 OData 模式兼容。我最终将服务器端的实体展平。
    猜你喜欢
    • 2011-07-11
    • 2011-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多