我使用功能NHibernate读取数据时,需要配置我的映射一切正常,但试图插入或具有PostgreSQL类型时间更新记录我得到的错误消息时NHibernate的PostgreSQL的日期时间,以时间转换
"ERROR: 42804: column \"run_time\" is of type time with time zone but expression is of type timestamp without time zone"
它看起来像NHibernate可能会混淆在哪个DbType将日期时间转换为,你可以从PostgreSQL and C# Datatypes看到,有几个日期时间映射到的DbTypes。
我也试过指定自定义类型从IUserType此列,但在NullSafeSet覆盖我得到一个NullReferenceError
public override void NullSafeSet(IDbCommand cmd, object value, int index)
{
var obj = (DateTime)value;
NHibernate.NHibernateUtil.Time.NullSafeSet(cmd, obj, index);
}
有一些类型的暗示我可以提供要么告诉NHibernate的,以日期时间转换Postgresql的“时间”类型?或者我可以通过IUserType实现这一点,我只是做错了什么?
你如何目前已此列在你的流利的映射映射? – 2011-05-25 19:20:40