2017-10-26 1 views
0

이제 NHibernate 5가 종료되었으므로 SQL Server에서 datetime2로 유지되는 경우 날짜를 로컬 날짜로로드하는 권장 방법이 궁금합니다. 2016 데이터베이스 지금까지는 날짜가 로컬로 해석되었으므로 (올바른 값으로 끝나는 속성) 이제는 동작이 변경되어 LocalDateTime을 사용할 수 없습니다.NHibernate5 : 특정 종류없이 지속되는 날짜로 변환

불행하게도, 내 donmain의 행동이 문제를 해결하는 방법에 대한

모든 포인터 ... 자동으로 현지 날짜로로드 된 날짜를 얻기에 의존?

는 가

감사합니다,

루이스는이 동작을 비활성화하는 방법을 발견하지 않았기 때문에

답변

0

, 나는 단순히 데이터의 형식을 조정하는 새로운 유형을 만들어 결국 한 (항상 고려 로컬 형식으로 저장 됨) :

public class LocalDateTimeTypeNoThrow : LocalDateTimeType { 
    public LocalDateTimeTypeNoThrow() { 
    } 

    public LocalDateTimeTypeNoThrow(DateTimeSqlType sqlType) : base(sqlType) { 
    } 

    public override string Name => "LocalDateTimeNoThrow"; 

    public override void Set(DbCommand st, object value, int index, ISessionImplementor session) { 
     var dateValue = (DateTime) value; 
     //removed throwing from here 
     st.Parameters[index].Value = AdjustDateTime(dateValue); 
    } 
} 

더 좋은 방법이 있으면 알려 주시기 바랍니다.

루이스