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

发布于 2024-10-31 05:35:50 字数 250 浏览 5 评论 0原文

我正在为我的约会数据库创建 WCF 数据服务。

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

“服务器在处理请求时遇到错误。异常消息是“‘约会’类型上的属性‘持续时间’属于‘时间’类型,这不是受支持的原始类型。”。有关更多详细信息,请参阅服务器日志”

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

I am creating a WCF Data Service for my database of appointments.

I'm storing the appointment as a DateTime with a duration of type TimeSpan. When I attempt to access my data service, I get the following error:

"The server encountered an error processing the request. The exception message is 'The property 'Duration' on type 'Appointment' is of type 'Time' which is not a supported primitive type.'. See server logs for more details."

Any idea how I can represent a time duration and have it accessible through my WCF Data Service?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夏天碎花小短裙 2024-11-07 05:35:50

我建议公开一个新的序列化属性(用 DataMemberAttribute 标记),该属性使用原始时间跨度的 Ticks 属性。

例如:

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

我不确定序列化的访问器要求是什么。也许您可以使用 protected 而不是 public

I would suggest exposing a new property for serialization (marked with the DataMemberAttribute) that use the Ticks property of your original timespan.

For example:

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

I'm not sure what the accessor requirements for serialization will be. Maybe you could use protected instead of public.

最单纯的乌龟 2024-11-07 05:35:50

您可以将持续时间公开为 Ticks、TotalSeconds 或其他可以计算为小时、分钟等的原语吗?

You could expose the duration as Ticks, TotalSeconds, or some other primitive that can be calc'ed to hours, minutes, etc?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文