2014-10-09 1 views
0

Date 값이 Today (시간 구성 요소 없음)가되는 System.DateTime CreatedDate 구성원이있는 엔터티가 있습니다. 또한 Today의 날짜 값은 캐시되고 응용 프로그램이 시작된 날짜입니다. 일반적으로 프로세스를 다시 시작하면 문제는 발생하지 않지만 오래 실행되는 Windows 서비스에서 사용되는 경우이 Date 값은 오래되지 않습니다.DevForce 2012의 DateTime 기본값

예 : 내가 수동으로 바로 새로운 호출하기 전에 내일 내 컴퓨터 시계를 설정하여이를 확인 내 EDMX

/// <summary>Gets or sets the CreatedDate. </summary> 
[DataMember] 
[Bindable(true, BindingDirection.TwoWay)] 
[Editable(true)] 
[Display(Name="CreatedDate", AutoGenerateField=true)] 
[IbVal.RequiredValueVerifier(ErrorMessageResourceName="ServiceRequest_CreatedDate")] 
public System.DateTime CreatedDate { 
    get { return PropertyMetadata.CreatedDate.GetValue(this); } 
    set { PropertyMetadata.CreatedDate.SetValue(this, value); } 
} 

코드에서

 var request = new ServiceRequest(); 

     // request.CreatedDate will be the date the app started not a new call to DateTime.Now or DateTime.Today 

에서

.

문서화되고 예상되었거나 패치가 있습니까? 아니면 새로 발견 된 버그입니까?

답변

0

DevForce는 null이 허용되지 않는 모든 DataEntityProperty에 속성 개체가 생성 될 때 DefaultValue를 할당하고 각 개체 개체를 초기화 할 때이 기본값을 사용합니다. 즉, 해당 속성을 만들 때 ServiceRequest.PropertyMetada.CreatedDate.DefaultValue을 한 번 설정 한 다음 ServiceRequest 인스턴스를 생성 할 때마다 CreatedDate의 기본값을 채우는 데 사용됩니다. 이 문제를 해결하려면 SerivceRequest 생성자 또는 이러한 개체를 만드는 팩토리에 필요한 모든 값으로 CreatedDate를 설정할 수 있습니다.

+0

OK, 그게 내가하고있는 일입니다. – GenuineRex