ActiveRecord / NHibernate DateTime проблема - PullRequest
0 голосов
/ 16 августа 2010

Я использую ActiveRecord / NHibernate для отображения ORM в моем проекте с PostgreSQL 8.4. У меня есть следующая проблема

Для отображения классов

 [ActiveRecord(Schema = "public", Table = "test_bean")]
 public class TestBean
 {
  [PrimaryKey(SequenceName = "test_bean_id_seq", Generator = PrimaryKeyType.Sequence)]
  public int ID { get; set; }

  [Castle.ActiveRecord.Property("time")]
  public DateTime Time { get; set; }
 }

и SQL DDL

CREATE TABLE test_bean
(
  id serial NOT NULL,
  time timestamp without time zone NOT NULL,
  CONSTRAINT test_bean_pk PRIMARY KEY (id)
)

При сохранении объектов в БД ActiveRecord / NHibernate будет обрезать / игнорировать миллисекундный компонент поля DateTime. Я провел некоторое исследование и нашел этот пост , но я бы предпочел решение, которое не требует написания пользовательского типа.

1 Ответ

2 голосов
/ 16 августа 2010

Используйте тип Timestamp NHibernate ( аналогичный вопрос , документы )

[Property(ColumnType = "Timestamp")]
DateTime Time {get;set;}
...