2011-04-07 1 views
4

약속 데이터베이스에 WCF 데이터 서비스를 만들고 있습니다.WCF 데이터 서비스를 통해 TimeSpan을 노출하려면 어떻게합니까?

약속을 TimeSpan 형식의 기간으로 저장하고 있습니다. 내 데이터 서비스에 액세스하려고 할 때, 나는 다음과 같은 오류가 발생합니다 :

"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."

내 WCF 데이터 서비스를 통해 내가 지속 시간을 표시 할 수 있으며 액세스 얼마나 어떤 생각?

답변

6

원래 시간 범위의 Ticks 속성을 사용하는 serialization (DataMemberAttribute으로 표시됨)에 대한 새 속성을 제공하는 것이 좋습니다. 예를 들어

:

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

나는 직렬화에 대한 접근 요구 사항이 될 것입니다 모르겠어요. 어쩌면 public 대신 protected을 사용할 수 있습니다.

0

Ticks, TotalSeconds 또는 몇 시간, 분 등으로 계산할 수있는 다른 기본 요소로 기간을 표시 할 수 있습니까?