如何通过WCF数据服务公开TimeSpan?

ret*_*one 4 .net wcf entity-framework wcf-data-services

我正在为我的约会数据库创建一个WCF数据服务.

我将约会存储为DateTime,其持续时间为TimeSpan.当我尝试访问我的数据服务时,出现以下错误:

"服务器在处理请求时遇到错误.异常消息是''约会'类型的属性'持续时间'是'时间'类型,它不是受支持的基本类型.'.有关详细信息,请参阅服务器日志."

知道如何表示持续时间并通过我的WCF数据服务访问它吗?

Red*_*dog 6

我建议DataMemberAttribute使用Ticks原始时间跨度的属性公开一个用于序列化的新属性(标有).

例如:

[DataMember("TheTimeSpanTicks")]
public long TheTimeSpanTicks
{
    get { return TheTimeSpan.Ticks; }
    set { TheTimeSpan = new TimeSpan(value); }
} 
Run Code Online (Sandbox Code Playgroud)

我不确定序列化的访问者要求是什么.也许你可以用protected而不是public.