C# 如何在Fluent NHibernate中将Oracle时间戳映射到DateTime?

C# 如何在Fluent NHibernate中将Oracle时间戳映射到DateTime?,c#,oracle,fluent-nhibernate,fluent-nhibernate-mapping,C#,Oracle,Fluent Nhibernate,Fluent Nhibernate Mapping,我在Oracle中有一列是带有时区的时间戳(6)。尝试从表加载记录时出现异常:System.ArgumentOutOfRangeException:Year、Month和Day参数描述不可表示的日期时间。 以下是我为映射所做的尝试: Map(x => x.ExpirationDate, "EXPIRE_DATE").CustomType("timestamp").CustomSqlType("TIMESTAMP(6) WITH TIME ZONE").Nullable(); Map(x

我在Oracle中有一列是带有时区的时间戳(6)。尝试从表加载记录时出现异常:System.ArgumentOutOfRangeException:Year、Month和Day参数描述不可表示的日期时间。

以下是我为映射所做的尝试:

Map(x => x.ExpirationDate, "EXPIRE_DATE").CustomType("timestamp").CustomSqlType("TIMESTAMP(6) WITH TIME ZONE").Nullable();

Map(x => x.ExpirationDate, "EXPIRE_DATE").CustomSqlType("TIMESTAMP(6) WITH TIME ZONE").Nullable();

Map(x => x.ExpirationDate, "EXPIRE_DATE").CustomSqlType("timestamp").Nullable();

Map(x => x.ExpirationDate, "EXPIRE_DATE").CustomType("timestamp").CustomSqlType("timestamp").Nullable();

我最终在SQL中使用了一个Oracle函数来获取日期超时。请参见下面的过期日期:

string sql = @"SELECT CONTAINER_ID,
PLANT_ID,
MATERIAL_ID,
QTY_IN,
QTY_OUT,
UNIT_OF_MEASURE,
TO_CHAR (EXPIRE_DATE, 'YYYY-MON-DD HH24:MI:SS') AS MY_EXPIRE_DATE,
LOT_ID,
CONTAINER_STATUS,
CONTENTS_TYPE
FROM POMSNET.MM_CONTAINER_ST
WHERE CONTENTS_TYPE = 'Raw Material'
AND QTY_IN - QTY_OUT > 0";