Проблема с ActiveRecord / NHibernate DateTime

Я использую _1 _ / _ 2_ для сопоставления 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. Я провел небольшое исследование и нашел это post, но я бы предпочел решение, не требующее написания нестандартного типа.


person jethro    schedule 16.08.2010    source источник
comment
Кстати, вы можете сделать эти свойства виртуальными, чтобы включить ленивую загрузку.   -  person Mauricio Scheffer    schedule 16.08.2010


Ответы (1)


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

[Property(ColumnType = "Timestamp")]
DateTime Time {get;set;}
person Mauricio Scheffer    schedule 16.08.2010