2016-08-19 5 views
0

어떻게이 문제를 해결할 수 있습니까? "NHibernate는 DateTime 변수에서 밀리 초를 자른다

버전 3.1.0.4000, 의 xmlns = 여기

enter image description here

는 HBM 내 구성입니다 : NHibernate에 내가 드 LongTimePattern를 구성하더라도 날짜 시간 변수

DataHoraRecebimento = DateTime.Now; 
DataReferencia = new DateTime(2015, 9, 8, 17, 0, 50, 332); 

을에서 밀리 초를 잘라 urn : nhibernate-mapping-2.2 ", MsSql2008Dialect

여기
<class name="MensagemRecebimento" table="dbo.xxx" lazy="true" dynamic-update="true"> 

    <id name="CodigoRecebimentoMensagem" column="COD_RECB_MSG"><generator class="identity" /></id> 
    <property name="DataReferencia"><column name="DATA_REF_MSG" sql-type="datetime" not-null="true" /></property> 
    <property name="DataHoraRecebimento"><column name="DTHR_RECB_MSG" sql-type="datetime" not-null="true" /></property> 

    </class> 

및 91,363,210는

NHibernateSessionHelper.Instance.GetSession().Save(obj); 

을 내 개체를 저장하는 코드이며, 여기 nHibernate 수 밀리 초는 내가 가진

NHibernate: 
    INSERT 
    INTO 
     dbo.xxx 
     (DATA_REF_MSG, DTHR_RECB_MSG) 
    VALUES 
     (@p7, @p8); 
    select 
     SCOPE_IDENTITY(); 

    @p7 = 08/09/2015 17:00:50.000 [Type: DateTime (0)], 
    @p8 = 19/08/2016 12:42:48.000 [Type: DateTime (0)] 
+0

날짜는 패턴 또는 로케일을 갖지 않습니다. 패턴과 로케일은 문자열로 /에서 변환 할 때만 * 중요합니다. 귀하의 질의를 게시하십시오. 코드가없는 스크린 샷은 전혀 도움이되지 않습니다. –

+0

LongTimePattern을 구성하지 않은 채로 NHibernate 쿼리는 밀리 초 (.000)의 0을 표시하지 않았지만 도움이 될 것이라고 생각했지만 que 코드는 제거 할 수 있습니다. – Kino

+0

데이터베이스 열은 밀리 초가 아닌 동일한 값을 갖습니다. – Kino

답변

1

제로는 것을 당신이 알 수 을 저장 한 후 생성 결과 쿼리입니다 대답, hbm.xml에 type="Timestamp"을 추가했습니다.

<class name="MensagemRecebimento" table="dbo.xxx" lazy="true" dynamic-update="true"> 

    <id name="CodigoRecebimentoMensagem" column="COD_RECB_MSG"> <generator class="identity" /> </id> 
    <property name="DataReferencia" type="Timestamp"> <column name="DATA_REF_MSG" sql-type="datetime" not-null="true" /> </property> 
    <property name="DataHoraRecebimento" type="Timestamp"> <column name="DTHR_RECB_MSG" sql-type="datetime" not-null="true" /></property> 

</class> 
관련 문제