2016-08-19 2 views
0

как я могу решить эту проблему? NHibernate усечение миллисекунды от переменных DateTimeNHibernate усекает миллисекунды из переменных DateTime

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

Даже если я устанавливаю де LongTimePattern:

enter image description here

здесь моя конфигурация на НВМ:

версия 3.1.0.4000, Xmlns =» 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> 

и вот код, который сохраняет свой объект

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), я думал, что это поможет, но я могу удалить код que. – Kino

+0

Столбцы базы данных получают одинаковые значения без миллисекунд. – Kino

ответ

1

я получил ответ, я добавил type="Timestamp" в hbm.xml

<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> 
Смежные вопросы