0

DateTime 속성이있는 개체를 사용하면 날짜와 시간을 같은 개체의 별도 속성에 매핑 할 수 있습니까? StartDateTime, StartDate 및 StartTime이있는 개체는 StartDateTime이 데이터베이스의 열로 존재하며 StartDate 및 StartTime은 StartDateTime 열의 다른 부분을 참조하기 만합니다.단일 datetime 열을 모델의 두 개의 별도 datetime 속성에 매핑하는 방법

미리 도움을 주셔서 감사합니다.

답변

1

내가 말할 것이다, 여기에 트릭은 다음과 같습니다

  1. 지도 해당 열 한 속성입니다. 그것도 보호, 모델의 다른 부분에 대한 숨길 수 (예를 들어 here 참조)
  2. 값을 매핑에 액세스 설정이 가상 (I 유엔 매핑 속성을 의미) 공용 속성을 만듭니다.

예를 들어, 매우 비슷한 시나리오를 사용하여 version을 매핑합니다. 클라이언트 - 그것은 UI로 전송하기 어렵다 byte[]와 협력

<version name="Timestamp" generated="always" unsaved-value="null" type="BinaryBlob"> 
    <column name="RowVersion" not-null="false" sql-type="timestamp"/> 
</version> 

:이 매핑 될 때 그래서. 이것은 이것이 도메인 엔터티 표현이됩니다.

protected virtual byte[] Timestamp { get; set; } 

public virtual string Version 
{ 
    get { return Timestamp.IsEmpty() ? null : Convert.ToBase64String(Timestamp); } 
    set { Timestamp = value.IsEmpty() ? null : Convert.FromBase64String(value); } 
} 

곳에서 ...

주를 우리가 string으로 클라이언트에 version를 보낼 수 있습니다 ... 그리고 그것을 다시 얻을 갖는 : 나는 공공 재산에 DB 컬럼을지도한다. 그것은 QueryOver 쿼리에서 해당 속성을 사용하기 쉽게 만듭니다 ... 최소한 getter는 public 일 수 있습니다.